Lines Matching refs:scrp

120 xf86GetNearestClock(ScrnInfoPtr scrp, int freq, Bool allowDiv2,
124 int minimumGap = abs(freq - scrp->clock[0]);
132 /* Must set this here in case the best match is scrp->clock[0] */
136 for (i = 0; i < scrp->numClocks; i++) {
138 gap = abs((freq * j) - ((scrp->clock[i] * DivFactor) / MulFactor));
248 xf86ShowClockRanges(ScrnInfoPtr scrp, ClockRangePtr clockRanges)
259 if (scrp->progClock) {
262 xf86DrvMsg(scrp->scrnIndex, X_INFO,
267 xf86DrvMsg(scrp->scrnIndex, X_INFO,
273 xf86DrvMsg(scrp->scrnIndex, X_INFO,
280 for (i = 0; i < scrp->numClocks; i++) {
281 scaledClock = (scrp->clock[i] * DivFactor) / MulFactor;
286 xf86DrvMsg(scrp->scrnIndex, X_INFO, "scaled clocks:");
325 xf86HandleBuiltinMode(ScrnInfoPtr scrp,
355 if (!scrp->progClock) {
356 clockIndex = xf86GetNearestClock(scrp, p->Clock, allowDiv2,
359 modep->Clock = (scrp->clock[clockIndex] * DivFactor)
362 modep->SynthClock = scrp->clock[clockIndex];
375 if(!scrp->progClock) {
432 * scrp ScrnInfoPtr
452 xf86LookupMode(ScrnInfoPtr scrp, DisplayModePtr modep,
482 if (scrp == NULL || scrp->modePool == NULL ||
483 (!scrp->progClock && scrp->numClocks == 0)) {
500 for (p = scrp->modePool; p != NULL; p = p->next) {
520 return xf86HandleBuiltinMode(scrp, p,modep, clockRanges,
542 if (scrp->progClock) {
569 i = xf86GetNearestClock(scrp, p->Clock, allowDiv2,
577 ((scrp->clock[i] * cp->ClockDivFactor) /
581 ((scrp->clock[i] * cp->ClockDivFactor) /
637 if (scrp->progClock) {
642 modep->Clock = (scrp->clock[clockIndex] * DivFactor) /
645 modep->SynthClock = scrp->clock[clockIndex];
775 xf86CheckModeSize(ScrnInfoPtr scrp, int w, int x, int y)
777 int bpp = scrp->fbFormat.bitsPerPixel,
778 pad = scrp->fbFormat.scanlinePad;
781 if (scrp->depth == 4)
798 * scrp->videoRam * (1024 * 8)
810 (scrp->videoRam * ((1024 * 8) / BITMAP_SCANLINE_PAD)))
826 * scrp ScrnInfoPtr
841 xf86InitialCheckModeForDriver(ScrnInfoPtr scrp, DisplayModePtr mode,
852 if (!scrp || !mode || !clockRanges) {
859 scrp, mode, mode->name , clockRanges, strategy, maxPitch, virtualX, virtualY);
870 if (!xf86CheckModeSize(scrp, mode->HDisplay, mode->HDisplay,
883 if (scrp->maxHValue > 0 && mode->HTotal > scrp->maxHValue)
886 if (scrp->maxVValue > 0 && mode->VTotal > scrp->maxVValue)
914 if (scrp->ValidMode) {
931 if (scrp->progClock) {
934 i = xf86GetNearestClock(scrp, mode->Clock, allowDiv2,
937 mode->SynthClock = (scrp->clock[i] * cp->ClockDivFactor) /
943 status = (*scrp->ValidMode)(scrp->scrnIndex, mode, FALSE,
974 * scrp ScrnInfoPtr
987 xf86CheckModeForDriver(ScrnInfoPtr scrp, DisplayModePtr mode, int flags)
999 if (scrp == NULL || (!scrp->progClock && scrp->numClocks == 0)) {
1009 if (mode->HDisplay > scrp->virtualX)
1012 if (mode->VDisplay > scrp->virtualY)
1015 if (scrp->maxHValue > 0 && mode->HTotal > scrp->maxHValue)
1018 if (scrp->maxVValue > 0 && mode->VTotal > scrp->maxVValue)
1021 for (cp = scrp->clockRanges; cp != NULL; cp = cp->next) {
1027 if (scrp->progClock) {
1029 for (cp = scrp->clockRanges; cp != NULL; cp = cp->next) {
1045 for (cp = scrp->clockRanges; cp != NULL; cp = cp->next) {
1052 i = xf86GetNearestClock(scrp, mode->Clock, 0,
1060 ((scrp->clock[i] * cp->ClockDivFactor) /
1064 ((scrp->clock[i] * cp->ClockDivFactor) /
1084 if (scrp->progClock) {
1088 mode->Clock = (scrp->clock[clockIndex] * DivFactor) / MulFactor;
1090 mode->SynthClock = scrp->clock[clockIndex];
1102 inferVirtualSize(ScrnInfoPtr scrp, DisplayModePtr modes, int *vx, int *vy)
1105 MonPtr mon = scrp->monitor;
1158 xf86DrvMsg(scrp->scrnIndex, X_WARNING,
1167 xf86DrvMsg(scrp->scrnIndex, X_INFO,
1306 * scrp ScrnInfoPtr
1348 xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes,
1372 scrp, availModes, modeNames, clockRanges,
1379 if (scrp == NULL || scrp->name == NULL || !scrp->monitor ||
1380 (!scrp->progClock && scrp->numClocks == 0)) {
1407 if (scrp->monitor->nHsync <= 0) {
1409 scrp->monitor->nHsync = numTimings;
1411 scrp->monitor->hsync[i].lo = hsync[i].lo;
1412 scrp->monitor->hsync[i].hi = hsync[i].hi;
1415 scrp->monitor->hsync[0].lo = 31.5;
1416 scrp->monitor->hsync[0].hi = 48.0;
1417 scrp->monitor->nHsync = 1;
1423 for (i = 0; i < scrp->monitor->nHsync; i++) {
1424 if (scrp->monitor->hsync[i].lo == scrp->monitor->hsync[i].hi)
1425 xf86DrvMsg(scrp->scrnIndex, X_INFO,
1427 scrp->monitor->id, type,
1428 scrp->monitor->hsync[i].lo);
1430 xf86DrvMsg(scrp->scrnIndex, X_INFO,
1432 scrp->monitor->id, type,
1433 scrp->monitor->hsync[i].lo,
1434 scrp->monitor->hsync[i].hi);
1438 if (scrp->monitor->nVrefresh <= 0) {
1440 scrp->monitor->nVrefresh = numTimings;
1442 scrp->monitor->vrefresh[i].lo = vrefresh[i].lo;
1443 scrp->monitor->vrefresh[i].hi = vrefresh[i].hi;
1446 scrp->monitor->vrefresh[0].lo = 50;
1447 scrp->monitor->vrefresh[0].hi = 70;
1448 scrp->monitor->nVrefresh = 1;
1454 for (i = 0; i < scrp->monitor->nVrefresh; i++) {
1455 if (scrp->monitor->vrefresh[i].lo == scrp->monitor->vrefresh[i].hi)
1456 xf86DrvMsg(scrp->scrnIndex, X_INFO,
1458 scrp->monitor->id, type,
1459 scrp->monitor->vrefresh[i].lo);
1461 xf86DrvMsg(scrp->scrnIndex, X_INFO,
1463 scrp->monitor->id, type,
1464 scrp->monitor->vrefresh[i].lo,
1465 scrp->monitor->vrefresh[i].hi);
1469 if (!scrp->monitor->maxPixClock && !specified) {
1471 scrp->monitor->maxPixClock = 65000.0;
1473 if (scrp->monitor->maxPixClock) {
1474 xf86DrvMsg(scrp->scrnIndex, X_INFO,
1476 scrp->monitor->id, type,
1477 (float)scrp->monitor->maxPixClock / 1000.0);
1484 storeClockRanges = scrp->clockRanges;
1491 if (scrp->clockRanges == NULL)
1492 scrp->clockRanges = storeClockRanges;
1497 if (scrp->depth > 4)
1498 BankFormat = &scrp->fbFormat;
1500 BankFormat = xf86GetPixFormat(scrp, 1); /* >not< scrp->depth! */
1502 if (scrp->xInc <= 0)
1503 scrp->xInc = 8; /* Suitable for VGA and others */
1505 #define _VIRTUALX(x) ((((x) + scrp->xInc - 1) / scrp->xInc) * scrp->xInc)
1523 scrp->virtualFrom = X_PROBED;
1529 xf86DrvMsg(scrp->scrnIndex, X_ERROR,
1536 xf86DrvMsg(scrp->scrnIndex, X_ERROR,
1559 xf86DrvMsg(scrp->scrnIndex, X_ERROR,
1565 if (!xf86CheckModeSize(scrp, linePitch, virtualX, virtualY)) {
1566 xf86DrvMsg(scrp->scrnIndex, X_ERROR,
1574 scrp->virtualFrom = X_CONFIG;
1578 inferred_virtual = inferVirtualSize(scrp, availModes, &virtX, &virtY);
1585 xf86ShowClockRanges(scrp, clockRanges);
1588 * If scrp->modePool hasn't been setup yet, set it up now. This allows the
1591 * member of the scrp->modes list for which a match was considered.
1593 if (scrp->modePool == NULL) {
1596 status = xf86InitialCheckModeForDriver(scrp, p, clockRanges,
1601 status = xf86CheckModeForMonitor(p, scrp->monitor);
1609 scrp->modePool = new;
1618 printModeRejectMessage(scrp->scrnIndex, p, status);
1622 if (scrp->modePool == NULL) {
1623 xf86DrvMsg(scrp->scrnIndex, X_WARNING, "Mode pool is empty\n");
1627 for (p = scrp->modePool; p != NULL; p = p->next) {
1634 * Allocate one entry in scrp->modes for each named mode.
1636 while (scrp->modes)
1637 xf86DeleteMode(&scrp->modes, scrp->modes);
1638 endp = &scrp->modes;
1664 for (p = scrp->modes; ; p = p->next) {
1680 for (q = scrp->modePool; q != NULL; q = q->next) {
1686 for (p = scrp->modes; p != NULL; p = p->next) {
1700 if (!scrp->monitor->reducedblanking &&
1730 printModeRejectMessage(scrp->scrnIndex, p, status);
1732 status = xf86LookupMode(scrp, p, clockRanges, strategy);
1736 printModeRejectMessage(scrp->scrnIndex, p, status);
1813 if (!xf86CheckModeSize(scrp, newLinePitch, newVirtX, newVirtY)) {
1819 if (scrp->ValidMode) {
1824 scrp->virtualX = newVirtX;
1825 scrp->virtualY = newVirtY;
1826 scrp->displayWidth = newLinePitch;
1827 p->status = (scrp->ValidMode)(scrp->scrnIndex, p, FALSE,
1850 for (p = scrp->modes; p; p = p->next) {
1876 for (p = scrp->modes; p; p = p->next) {
1889 xf86DrvMsg(scrp->scrnIndex, X_WARNING,
1894 for (p = scrp->modes; p; p = p->next) {
1902 printModeRejectMessage(scrp->scrnIndex, p, p->status);
1925 scrp->virtualX = virtX;
1926 scrp->virtualY = virtY;
1927 scrp->displayWidth = linePitch;
1933 p = scrp->modes;
1937 p->next = scrp->modes;
1938 scrp->modes->prev = p;
1941 xf86DrvMsg(scrp->scrnIndex, X_ERROR,
1996 xf86PruneDriverModes(ScrnInfoPtr scrp)
2000 p = scrp->modes;
2005 if (!(first = scrp->modes))
2009 xf86DeleteMode(&(scrp->modes), p);
2015 while (scrp->modePool) {
2018 * member of the scrp->modes list for which a match was considered.
2022 scrp->modePool->prev = NULL;
2023 xf86DeleteMode(&scrp->modePool, scrp->modePool);
2036 xf86SetCrtcForModes(ScrnInfoPtr scrp, int adjustFlags)
2044 scrp->adjustFlags = adjustFlags;
2046 p = scrp->modes;
2060 } while (p != NULL && p != scrp->modes);
2064 xf86PrintModes(ScrnInfoPtr scrp)
2070 if (scrp == NULL)
2073 xf86DrvMsg(scrp->scrnIndex, scrp->virtualFrom, "Virtual size is %dx%d "
2074 "(pitch %d)\n", scrp->virtualX, scrp->virtualY,
2075 scrp->displayWidth);
2077 p = scrp->modes;
2108 xf86DrvMsg(scrp->scrnIndex, X_CONFIG,
2111 xf86DrvMsg(scrp->scrnIndex, X_PROBED,
2115 xf86DrvMsg(scrp->scrnIndex, X_CONFIG,
2120 xf86DrvMsg(scrp->scrnIndex, X_CONFIG,
2127 xf86PrintModeline(scrp->scrnIndex,p);
2129 } while (p != NULL && p != scrp->modes);