Lines Matching refs:pScrn

39 static Bool    RivaPreInit(ScrnInfoPtr pScrn, int flags);
54 static Bool RivaMapMem(ScrnInfoPtr pScrn);
55 static Bool RivaMapMemFBDev(ScrnInfoPtr pScrn);
56 static Bool RivaUnmapMem(ScrnInfoPtr pScrn);
57 static void RivaSave(ScrnInfoPtr pScrn);
58 static void RivaRestore(ScrnInfoPtr pScrn);
59 static Bool RivaModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
101 RivaGetRec(ScrnInfoPtr pScrn)
104 * Allocate an RivaRec, and hook it into pScrn->driverPrivate.
105 * pScrn->driverPrivate is initialised to NULL, so we can check if
108 if (pScrn->driverPrivate != NULL)
111 pScrn->driverPrivate = xnfcalloc(sizeof(RivaRec), 1);
114 RivaPTR(pScrn)->Dac = DacInit;
119 RivaFreeRec(ScrnInfoPtr pScrn)
121 if (pScrn->driverPrivate == NULL)
123 free(pScrn->driverPrivate);
124 pScrn->driverPrivate = NULL;
137 ScrnInfoPtr pScrn;
139 pScrn = xf86ConfigPciEntity(NULL, 0, chip,
143 if(!pScrn) return FALSE;
145 pScrn->driverVersion = RIVA_VERSION;
146 pScrn->driverName = RIVA_DRIVER_NAME;
147 pScrn->name = RIVA_NAME;
149 pScrn->Probe = NULL;
150 pScrn->PreInit = RivaPreInit;
151 pScrn->ScreenInit = RivaScreenInit;
152 pScrn->SwitchMode = RivaSwitchMode;
153 pScrn->AdjustFrame = RivaAdjustFrame;
154 pScrn->EnterVT = RivaEnterVT;
155 pScrn->LeaveVT = RivaLeaveVT;
156 pScrn->FreeScreen = RivaFreeScreen;
157 pScrn->ValidMode = RivaValidMode;
167 return RivaModeInit(pScrn, mode);
180 RivaPtr pRiva = RivaPTR(pScrn);
183 if(pRiva->ShowCache && y && pScrn->vtSema)
184 y += pScrn->virtualY - 1;
204 if (!RivaModeInit(pScrn, pScrn->currentMode))
206 RivaAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0));
231 RivaPtr pRiva = RivaPTR(pScrn);
233 RivaRestore(pScrn);
250 ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
251 RivaPtr pRiva = RivaPTR(pScrn);
253 if (pScrn->vtSema) {
254 RivaRestore(pScrn);
258 RivaUnmapMem(pScrn);
259 vgaHWUnmapMem(pScrn);
273 pScrn->vtSema = FALSE;
290 vgaHWFreeHWRec(pScrn);
291 RivaFreeRec(pScrn);
305 rivaProbeDDC(ScrnInfoPtr pScrn, int index)
309 if (xf86LoadSubModule(pScrn, "vbe")) {
317 Bool RivaI2CInit(ScrnInfoPtr pScrn)
321 if (xf86LoadSubModule(pScrn, mod)) {
324 if(xf86LoadSubModule(pScrn, mod)) {
325 return RivaDACi2cInit(pScrn);
329 xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
337 RivaPreInit(ScrnInfoPtr pScrn, int flags)
346 EntityInfoPtr pEnt = xf86GetEntityInfo(pScrn->entityList[0]);
354 rivaProbeDDC(pScrn, i);
362 * be initialised here. xf86Screens[] is (pScrn is a pointer to one
372 if (pScrn->numEntities != 1)
376 if (!RivaGetRec(pScrn)) {
379 pRiva = RivaPTR(pScrn);
382 pRiva->pEnt = xf86GetEntityInfo(pScrn->entityList[0]);
396 if (xf86LoadSubModule(pScrn, "int10")) {
398 xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Initializing int10\n");
408 /* Set pScrn->monitor */
409 pScrn->monitor = pScrn->confScreen->monitor;
415 xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "This is not a RIVA 128\n");
420 pScrn->chipset = "RIVA 128";
426 if (!xf86SetDepthBpp(pScrn, 15, 0, 0, Support32bppFb)) {
431 switch (pScrn->depth) {
437 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
439 pScrn->depth);
444 xf86PrintDepthBpp(pScrn);
447 if (pScrn->depth == 24 && pix24bpp == 0)
448 pix24bpp = xf86GetBppFromDepth(pScrn, 24);
451 * This must happen after pScrn->display has been set because
454 if (pScrn->depth > 8) {
458 if (!xf86SetWeight(pScrn, zeros, zeros)) {
464 if (!xf86SetDefaultVisual(pScrn, -1)) {
469 if (pScrn->depth > 8 && (pScrn->defaultVisual != TrueColor)) {
470 xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Given default visual"
472 xf86GetVisualName(pScrn->defaultVisual), pScrn->depth);
479 if (!xf86LoadSubModule(pScrn, "vgahw")) {
487 if (!vgaHWGetHWRec(pScrn)) {
491 vgaHWSetStdFuncs(VGAHWPTR(pScrn));
494 pScrn->progClock = TRUE;
496 /* Collect all of the relevant option flags (fill in pScrn->options) */
497 xf86CollectOptions(pScrn, NULL);
503 xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, pRiva->Options);
506 if (pScrn->depth == 8)
507 pScrn->rgbBits = 8;
523 xf86DrvMsg(pScrn->scrnIndex, from, "Using %s cursor\n",
527 xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Acceleration disabled\n");
531 xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "ShowCache enabled\n");
536 xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
541 xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
546 if (!xf86LoadSubModule(pScrn, "fbdevhw")) {
551 if (!fbdevHWInit(pScrn, pRiva->PciInfo, NULL)) {
555 pScrn->SwitchMode = fbdevHWSwitchModeWeak();
556 pScrn->AdjustFrame = fbdevHWAdjustFrameWeak();
557 pScrn->EnterVT = RivaEnterVTFBDev;
558 pScrn->LeaveVT = fbdevHWLeaveVTWeak();
559 pScrn->ValidMode = fbdevHWValidModeWeak();
568 xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
576 xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
579 xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
581 xf86DrvMsg(pScrn->scrnIndex, X_INFO,
589 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
593 RivaFreeRec(pScrn);
605 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
608 RivaFreeRec(pScrn);
612 xf86DrvMsg(pScrn->scrnIndex, from, "Linear framebuffer at 0x%lX\n",
618 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
622 RivaFreeRec(pScrn);
633 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
636 RivaFreeRec(pScrn);
640 xf86DrvMsg(pScrn->scrnIndex, from, "MMIO registers at 0x%lX\n",
645 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
648 RivaFreeRec(pScrn);
652 Riva3Setup(pScrn);
659 pScrn->videoRam = pRiva->pEnt->device->videoRam;
663 pScrn->videoRam = fbdevHWGetVidmem(pScrn)/1024;
665 pScrn->videoRam = pRiva->riva.RamAmountKBytes;
669 xf86DrvMsg(pScrn->scrnIndex, from, "VideoRAM: %d kBytes\n",
670 pScrn->videoRam);
672 pRiva->FbMapSize = pScrn->videoRam * 1024;
682 if (!xf86SetGamma(pScrn, zeros)) {
709 * don't exceed the chipset's limit if pScrn->maxHValue and
710 * pScrn->maxVValue are set. Since our RivaValidMode() already takes
713 i = xf86ValidateModes(pScrn, pScrn->monitor->Modes,
714 pScrn->display->modes, clockRanges,
716 32 * pScrn->bitsPerPixel, 128, 2048,
717 pScrn->display->virtualX,
718 pScrn->display->virtualY,
723 fbdevHWUseBuildinMode(pScrn);
724 pScrn->displayWidth = pScrn->virtualX; /* FIXME: might be wrong */
729 RivaFreeRec(pScrn);
734 xf86PruneDriverModes(pScrn);
736 if (i == 0 || pScrn->modes == NULL) {
737 xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "No valid modes found\n");
739 RivaFreeRec(pScrn);
751 xf86SetCrtcForModes(pScrn, 0);
754 pScrn->currentMode = pScrn->modes;
757 xf86PrintModes(pScrn);
760 xf86SetDpi(pScrn, 0, 0);
768 if (xf86LoadSubModule(pScrn, "fb") == NULL) {
770 RivaFreeRec(pScrn);
776 if (!xf86LoadSubModule(pScrn, "xaa")) {
777 xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Falling back to shadowfb\n");
785 if (!xf86LoadSubModule(pScrn, "ramdac")) {
787 RivaFreeRec(pScrn);
794 if (!xf86LoadSubModule(pScrn, "shadowfb")) {
796 RivaFreeRec(pScrn);
801 pRiva->CurrentLayout.bitsPerPixel = pScrn->bitsPerPixel;
802 pRiva->CurrentLayout.depth = pScrn->depth;
803 pRiva->CurrentLayout.displayWidth = pScrn->displayWidth;
804 pRiva->CurrentLayout.weight.red = pScrn->weight.red;
805 pRiva->CurrentLayout.weight.green = pScrn->weight.green;
806 pRiva->CurrentLayout.weight.blue = pScrn->weight.blue;
807 pRiva->CurrentLayout.mode = pScrn->currentMode;
821 RivaMapMem(ScrnInfoPtr pScrn)
823 RivaPtr pRiva = RivaPTR(pScrn);
840 pRiva->IOBase = xf86MapPciMem(pScrn->scrnIndex,
843 pRiva->FbBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER,
860 RivaMapMemFBDev(ScrnInfoPtr pScrn)
864 pRiva = RivaPTR(pScrn);
866 pRiva->FbBase = fbdevHWMapVidmem(pScrn);
870 pRiva->IOBase = fbdevHWMapMMIO(pScrn);
884 RivaUnmapMem(ScrnInfoPtr pScrn)
888 pRiva = RivaPTR(pScrn);
897 xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pRiva->IOBase, 0x1000000);
898 xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pRiva->FbBase, pRiva->FbMapSize);
914 RivaModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
916 vgaHWPtr hwp = VGAHWPTR(pScrn);
918 RivaPtr pRiva = RivaPTR(pScrn);
923 if (!vgaHWInit(pScrn, mode))
925 pScrn->vtSema = TRUE;
930 if(!(*pRiva->ModeInit)(pScrn, mode))
936 vgaHWProtect(pScrn, TRUE);
938 (*pRiva->Restore)(pScrn, vgaReg, rivaReg, FALSE);
940 RivaResetGraphics(pScrn);
942 vgaHWProtect(pScrn, FALSE);
953 RivaRestore(ScrnInfoPtr pScrn)
955 vgaHWPtr hwp = VGAHWPTR(pScrn);
957 RivaPtr pRiva = RivaPTR(pScrn);
964 vgaHWProtect(pScrn, TRUE);
965 (*pRiva->Restore)(pScrn, vgaReg, rivaReg, pRiva->Primary);
966 vgaHWProtect(pScrn, FALSE);
970 RivaDPMSSet(ScrnInfoPtr pScrn, int PowerManagementMode, int flags)
973 vgaHWPtr hwp = VGAHWPTR(pScrn);
975 if (!pScrn->vtSema) return;
995 vgaHWDPMSSet(pScrn, PowerManagementMode, flags);
1008 ScrnInfoPtr pScrn;
1021 pScrn = xf86ScreenToScrn(pScreen);
1024 hwp = VGAHWPTR(pScrn);
1025 pRiva = RivaPTR(pScrn);
1030 if (!RivaMapMemFBDev(pScrn))
1033 if (!RivaMapMem(pScrn))
1040 if (!vgaHWMapMem(pScrn))
1045 fbdevHWSave(pScrn);
1046 if (!fbdevHWModeInit(pScrn, pScrn->currentMode))
1050 RivaSave(pScrn);
1052 if (!RivaModeInit(pScrn, pScrn->currentMode))
1059 pScrn->AdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0));
1081 if (pScrn->bitsPerPixel > 8) {
1082 if (!miSetVisualTypes(pScrn->depth, TrueColorMask, 8,
1083 pScrn->defaultVisual))
1086 if (!miSetVisualTypes(pScrn->depth,
1087 miGetDefaultVisualMask(pScrn->depth), 8,
1088 pScrn->defaultVisual))
1099 width = pScrn->virtualX;
1100 height = pScrn->virtualY;
1101 displayWidth = pScrn->displayWidth;
1105 height = pScrn->virtualX;
1106 width = pScrn->virtualY;
1110 pRiva->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * width);
1112 displayWidth = pRiva->ShadowPitch / (pScrn->bitsPerPixel >> 3);
1119 switch (pScrn->bitsPerPixel) {
1124 pScrn->xDpi, pScrn->yDpi,
1125 displayWidth, pScrn->bitsPerPixel);
1128 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
1130 pScrn->bitsPerPixel);
1138 if (pScrn->bitsPerPixel > 8) {
1143 visual->offsetRed = pScrn->offset.red;
1144 visual->offsetGreen = pScrn->offset.green;
1145 visual->offsetBlue = pScrn->offset.blue;
1146 visual->redMask = pScrn->mask.red;
1147 visual->greenMask = pScrn->mask.green;
1148 visual->blueMask = pScrn->mask.blue;
1163 AvailFBArea.x2 = pScrn->displayWidth;
1165 (pScrn->displayWidth * pScrn->bitsPerPixel / 8);
1184 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
1205 pRiva->PointerMoved = pScrn->PointerMoved;
1206 pScrn->PointerMoved = RivaPointerMoved;
1208 switch(pScrn->bitsPerPixel) {
1215 xf86DrvMsg(pScrn->scrnIndex, X_INFO,
1218 xf86DrvMsg(pScrn->scrnIndex, X_INFO,
1229 pScrn->memPhysBase = pRiva->FbAddress;
1230 pScrn->fbOffset = 0;
1240 xf86ShowUnusedOptions(pScrn->scrnIndex, pScrn->options);
1259 RivaSave(ScrnInfoPtr pScrn)
1261 RivaPtr pRiva = RivaPTR(pScrn);
1263 vgaHWPtr pVga = VGAHWPTR(pScrn);
1266 (*pRiva->Save)(pScrn, vgaReg, rivaReg, pRiva->Primary);