Lines Matching defs:pScrni
84 ScrnInfoPtr pScrni = xf86ScreenToScrn(pScrn);
85 GeodePtr pGeode = GEODEPTR(pScrni);
87 if (pGeode->useVGA && !pScrni->vtSema)
147 LXCalcPitch(ScrnInfoPtr pScrni)
149 GeodeRec *pGeode = GEODEPTR(pScrni);
152 return GeodeCalculatePitchBytes(pScrni->virtualX, pScrni->bitsPerPixel);
154 return ((pScrni->virtualX + 3) & ~3) * (pScrni->bitsPerPixel >> 3);
159 map_pci_mem(ScrnInfoPtr pScrni, int vram,
178 unmap_pci_mem(ScrnInfoPtr pScrni, struct pci_device *dev, void *ptr, int size)
186 LXMapMem(ScrnInfoPtr pScrni)
188 GeodeRec *pGeode = GEODEPTR(pScrni);
189 int index = pScrni->scrnIndex;
220 cim_gp_ptr = map_pci_mem(pScrni, 0, pci, 1, LX_GP_REG_SIZE);
221 cim_vg_ptr = map_pci_mem(pScrni, 0, pci, 2, LX_VG_REG_SIZE);
222 cim_vid_ptr = map_pci_mem(pScrni, 0, pci, 3, LX_VID_REG_SIZE);
223 cim_vip_ptr = map_pci_mem(pScrni, 0, pci, 4, LX_VIP_REG_SIZE);
225 map_pci_mem(pScrni, 1, pci, 0, pGeode->FBAvail + CIM_CMD_BFR_SZ);
228 if (pScrni->memPhysBase == 0)
229 pScrni->memPhysBase = PCI_REGION_BASE(pci, 0, REGION_MEM);
272 LXCheckVGA(ScrnInfoPtr pScrni, EntityInfoPtr pEnt)
280 xf86MapVidMem(pScrni->scrnIndex, VIDMEM_FRAMEBUFFER, 0xC001E,
287 xf86UnMapVidMem(pScrni->scrnIndex, (pointer) ptr, strlen(vgasig));
298 LXCrtcResize(ScrnInfoPtr pScrni, int width, int height)
308 LXPreInit(ScrnInfoPtr pScrni, int flags)
316 if (pScrni->numEntities != 1)
319 pEnt = xf86GetEntityInfo(pScrni->entityList[0]);
325 GeodeProbeDDC(pScrni, pEnt->index);
329 pGeode = pScrni->driverPrivate = xnfcalloc(1, sizeof(GeodeRec));
334 pGeode->useVGA = LXCheckVGA(pScrni, pEnt);
339 if (!xf86LoadSubModule(pScrni, "vgahw") || !vgaHWGetHWRec(pScrni))
342 vgaHWSetStdFuncs(VGAHWPTR(pScrni));
360 pScrni->monitor = pScrni->confScreen->monitor;
362 if (!xf86SetDepthBpp(pScrni, 16, 16, 16, Support24bppFb | Support32bppFb))
365 switch (pScrni->depth) {
367 pScrni->rgbBits = 8;
373 xf86DrvMsg(pScrni->scrnIndex, X_ERROR,
375 pScrni->depth);
379 xf86PrintDepthBpp(pScrni);
381 if (!xf86SetWeight(pScrni, defaultWeight, defaultWeight))
384 if (!xf86SetDefaultVisual(pScrni, -1))
394 if (!xf86SetGamma(pScrni, zeros)) {
399 pScrni->progClock = TRUE;
400 xf86CollectOptions(pScrni, NULL);
401 xf86ProcessOptions(pScrni->scrnIndex, pScrni->options, GeodeOptions);
412 xf86DrvMsg(pScrni->scrnIndex, X_ERROR,
414 xf86DrvMsg(pScrni->scrnIndex, X_ERROR,
416 xf86DrvMsg(pScrni->scrnIndex, X_ERROR,
452 xf86DrvMsg(pScrni->scrnIndex, X_ERROR, "Invalid rotation %s.\n", s);
473 if (dcon_init(pScrni)) {
483 pGeode->panelMode = LXGetLegacyPanelMode(pScrni);
494 xf86DrvMsg(pScrni->scrnIndex, X_INFO, "LX output options:\n");
495 xf86DrvMsg(pScrni->scrnIndex, X_INFO, " CRT: %s\n",
498 xf86DrvMsg(pScrni->scrnIndex, X_INFO, " PANEL: %s\n",
501 xf86DrvMsg(pScrni->scrnIndex, X_INFO, " DCON: %s\n",
504 xf86DrvMsg(pScrni->scrnIndex, X_INFO, " VGA: %s\n",
512 if (!xf86LoadSubModule(pScrni, "int10"))
518 xf86DrvMsg(pScrni->scrnIndex, X_ERROR,
541 pScrni->fbOffset = 0;
544 pScrni->videoRam = pGeode->FBAvail / 1024;
546 pScrni->videoRam = pGeode->pEnt->device->videoRam;
547 pGeode->FBAvail = pScrni->videoRam << 10;
554 xf86DrvMsg(pScrni->scrnIndex, X_INFO,
557 xf86DrvMsg(pScrni->scrnIndex, X_INFO,
570 xf86CrtcConfigInit(pScrni, &lx_xf86crtc_config_funcs);
573 LXSetupCrtc(pScrni);
575 xf86CrtcSetSizeRange(pScrni, 320, 200, LX_MAX_WIDTH, LX_MAX_HEIGHT);
578 LXSetupOutput(pScrni);
580 if (!xf86InitialConfiguration(pScrni, FALSE)) {
581 xf86DrvMsg(pScrni->scrnIndex, X_ERROR, "No valid modes.\n");
585 xf86PrintModes(pScrni);
587 pScrni->currentMode = pScrni->modes;
589 pGeode->Pitch = LXCalcPitch(pScrni);
591 xf86SetDpi(pScrni, 0, 0);
595 if (xf86LoadSubModule(pScrni, "fb") == NULL) {
600 if (!xf86LoadSubModule(pScrni, "exa"))
605 xf86DrvMsg(pScrni->scrnIndex, X_ERROR,
614 LXRestore(ScrnInfoPtr pScrni)
616 GeodeRec *pGeode = GEODEPTR(pScrni);
619 vgaHWPtr pvgaHW = VGAHWPTR(pScrni);
621 vgaHWProtect(pScrni, TRUE);
622 vgaHWRestore(pScrni, &pvgaHW->SavedReg, VGA_SR_ALL);
623 vgaHWProtect(pScrni, FALSE);
628 LXUnmapMem(ScrnInfoPtr pScrni)
631 xf86UnMapVidMem(pScrni->scrnIndex, (pointer) cim_gp_ptr, LX_GP_REG_SIZE);
632 xf86UnMapVidMem(pScrni->scrnIndex, (pointer) cim_vg_ptr, LX_VG_REG_SIZE);
633 xf86UnMapVidMem(pScrni->scrnIndex, (pointer) cim_vid_ptr, LX_VID_REG_SIZE);
634 xf86UnMapVidMem(pScrni->scrnIndex, (pointer) cim_vip_ptr, LX_VIP_REG_SIZE);
636 xf86UnMapVidMem(pScrni->scrnIndex, XpressROMPtr, 0x10000);
638 GeodeRec *pGeode = GEODEPTR(pScrni);
641 unmap_pci_mem(pScrni, pci, cim_gp_ptr, LX_GP_REG_SIZE);
642 unmap_pci_mem(pScrni, pci, cim_vg_ptr, LX_VG_REG_SIZE);
643 unmap_pci_mem(pScrni, pci, cim_vid_ptr, LX_VID_REG_SIZE);
644 unmap_pci_mem(pScrni, pci, cim_vip_ptr, LX_VIP_REG_SIZE);
645 unmap_pci_mem(pScrni, pci, cim_fb_ptr, pGeode->FBAvail + CIM_CMD_BFR_SZ);
659 GeodeRec *pGeode = GEODEPTR(pScrni);
664 offset += x * (pScrni->bitsPerPixel >> 3);
673 GeodeRec *pGeode = GEODEPTR(pScrni);
676 return xf86SetSingleMode(pScrni, pMode, pGeode->rotation);
680 LXLeaveGraphics(ScrnInfoPtr pScrni)
682 GeodeRec *pGeode = GEODEPTR(pScrni);
687 lx_disable_dac_power(pScrni, DF_CRT_DISABLE);
707 LXRestore(pScrni);
717 lx_enable_dac_power(pScrni, 1);
718 pScrni->vtSema = FALSE;
724 ScrnInfoPtr pScrni = xf86ScreenToScrn(pScrn);
725 GeodeRec *pGeode = GEODEPTR(pScrni);
727 if (pScrni->vtSema)
728 LXLeaveGraphics(pScrni);
737 GeodeCloseOffscreen(pScrni);
739 LXUnmapMem(pScrni);
742 vgaHWUnmapMem(pScrni);
744 pScrni->PointerMoved = pGeode->PointerMoved;
754 LXEnterGraphics(ScreenPtr pScrn, ScrnInfoPtr pScrni)
757 GeodeRec *pGeode = GEODEPTR(pScrni);
772 vgaHWPtr pvgaHW = VGAHWPTR(pScrni);
787 vgaHWPtr pvgaHW = VGAHWPTR(pScrni);
793 vgaHWSave(pScrni, &VGAHWPTR(pScrni)->SavedReg, VGA_SR_ALL);
819 if (!xf86SetDesiredModes(pScrni))
822 pScrni->vtSema = TRUE;
828 LXLoadPalette(ScrnInfoPtr pScrni,
846 ScrnInfoPtr pScrni = xf86ScreenToScrn(pScrn);
847 GeodeRec *pGeode = GEODEPTR(pScrni);
857 if (!vgaHWMapMem(pScrni))
860 vgaHWGetIOBase(VGAHWPTR(pScrni));
879 xf86DrvMsg(pScrni->scrnIndex, X_ERROR,
887 if (!LXMapMem(pScrni))
890 LXInitOffscreen(pScrni);
893 if (!LXEnterGraphics(pScrn, pScrni))
900 if (pScrni->bitsPerPixel > 8) {
901 if (!miSetVisualTypes(pScrni->depth,
902 TrueColorMask, pScrni->rgbBits,
903 pScrni->defaultVisual)) {
908 if (!miSetVisualTypes(pScrni->depth,
909 miGetDefaultVisualMask(pScrni->depth),
910 pScrni->rgbBits, pScrni->defaultVisual)) {
917 if (pScrni->virtualX > pScrni->displayWidth)
918 pScrni->displayWidth = pScrni->virtualX;
927 dwidth = pGeode->Pitch / ((pScrni->bitsPerPixel + 7) / 8);
930 pScrni->virtualX, pScrni->virtualY,
931 pScrni->xDpi, pScrni->yDpi, dwidth,
932 pScrni->bitsPerPixel);
940 if (pScrni->bitsPerPixel > 8) {
945 visual->offsetRed = pScrni->offset.red;
946 visual->offsetGreen = pScrni->offset.green;
947 visual->offsetBlue = pScrni->offset.blue;
948 visual->redMask = pScrni->mask.red;
949 visual->greenMask = pScrni->mask.green;
950 visual->blueMask = pScrni->mask.blue;
970 xf86DrvMsg(pScrni->scrnIndex, X_ERROR,
979 if (pScrni->bitsPerPixel == 8) {
993 pGeode->PointerMoved = pScrni->PointerMoved;
994 pScrni->PointerMoved = GeodePointerMoved;
1001 xf86DrvMsg(pScrni->scrnIndex, X_ERROR, "CRTCScreenInit failed.\n");
1006 xf86ShowUnusedOptions(pScrni->scrnIndex, pScrni->options);
1023 return LXEnterGraphics(NULL, pScrni);
1030 GeodeRec *pGeode = GEODEPTR(pScrni);
1033 LXLeaveGraphics(pScrni);