Lines Matching refs:pNv
1080 NVPtr pNv = NVPTR(pScrn);
1081 const Bool disableAccess = pNv->accessEnabled;
1107 NVPtr pNv = NVPTR(pScrn);
1108 NVFBLayout *pLayout = &pNv->CurrentLayout;
1111 NVSetStartAddress(pNv, startAddr);
1127 NVPtr pNv = NVPTR(pScrn);
1133 if(pNv->overlayAdaptor)
1169 NVPtr pNv = NVPTR(pScrn);
1173 NVLockUnlock(pNv, 1);
1190 NVPtr pNv = NVPTR(pScrnInfo);
1192 if (pNv->DMAKickoffCallback)
1193 (*pNv->DMAKickoffCallback)(pScrnInfo);
1195 pScreen->BlockHandler = pNv->BlockHandler;
1199 if (pNv->VideoTimerCallback)
1200 (*pNv->VideoTimerCallback)(pScrnInfo, currentTime.milliseconds);
1217 NVPtr pNv = NVPTR(pScrn);
1220 if (!pNv->NoAccel)
1223 if (pNv->VBEDualhead) {
1227 NVLockUnlock(pNv, 1);
1236 if (pNv->AccelInfoRec)
1237 XAADestroyInfoRec(pNv->AccelInfoRec);
1239 if (pNv->CursorInfoRec)
1240 xf86DestroyCursorInfoRec(pNv->CursorInfoRec);
1241 if (pNv->ShadowPtr)
1242 free(pNv->ShadowPtr);
1243 if (pNv->DGAModes)
1244 free(pNv->DGAModes);
1245 if (pNv->overlayAdaptor)
1246 free(pNv->overlayAdaptor);
1247 if (pNv->blitAdaptor)
1248 free(pNv->blitAdaptor);
1251 pScreen->CloseScreen = pNv->CloseScreen;
1252 pScreen->BlockHandler = pNv->BlockHandler;
1260 NVPtr pNv = NVPTR(pScrn);
1262 pNv->accessEnabled = enable;
1263 pNv->EnableDisableFBAccess(arg, enable);
1291 NVPtr pNv = NVPTR(pScrn);
1293 if(pNv->fpWidth && pNv->fpHeight)
1294 if((pNv->fpWidth < mode->HDisplay) || (pNv->fpHeight < mode->VDisplay))
1360 NVPtr pNv;
1401 pNv = NVPTR(pScrn);
1404 pNv->pEnt = xf86GetEntityInfo(pScrn->entityList[0]);
1405 if (pNv->pEnt->location.type != BUS_PCI)
1409 pNv->PciInfo = xf86GetPciInfoForEntity(pNv->pEnt->index);
1411 pNv->PciTag = pciTag(pNv->PciInfo->bus, pNv->PciInfo->device,
1412 pNv->PciInfo->func);
1415 pNv->Primary = xf86IsPrimaryPci(pNv->PciInfo);
1421 pNv->pInt = xf86InitInt10(pNv->pEnt->index);
1426 xf86SetOperatingState(resVgaIo, pNv->pEnt->index, ResUnusedOpr);
1427 xf86SetOperatingState(resVgaMem, pNv->pEnt->index, ResDisableOpr);
1437 if (pNv->pEnt->device->chipset && *pNv->pEnt->device->chipset) {
1438 pScrn->chipset = pNv->pEnt->device->chipset;
1439 pNv->Chipset = xf86StringToToken(NVKnownChipsets, pScrn->chipset);
1441 } else if (pNv->pEnt->device->chipID >= 0) {
1442 pNv->Chipset = pNv->pEnt->device->chipID;
1444 pNv->Chipset);
1447 pNv->Chipset);
1450 pNv->Chipset = VENDOR_ID(pNv->PciInfo) << 16 | DEVICE_ID(pNv->PciInfo);
1452 if(((pNv->Chipset & 0xfff0) == 0x00F0) ||
1453 ((pNv->Chipset & 0xfff0) == 0x02E0))
1455 pNv->Chipset = NVGetPCIXpressChip(pNv->PciInfo);
1459 pNv->Chipset);
1464 if (pNv->pEnt->device->chipRev >= 0) {
1465 pNv->ChipRev = pNv->pEnt->device->chipRev;
1467 pNv->ChipRev);
1469 pNv->ChipRev = CHIP_REVISION(pNv->PciInfo);
1478 "ChipID 0x%04X is not recognised\n", pNv->Chipset);
1479 xf86FreeInt10(pNv->pInt);
1482 if (pNv->Chipset < 0) {
1485 xf86FreeInt10(pNv->pInt);
1497 xf86FreeInt10(pNv->pInt);
1512 xf86FreeInt10(pNv->pInt);
1531 xf86FreeInt10(pNv->pInt);
1537 xf86FreeInt10(pNv->pInt);
1545 xf86FreeInt10(pNv->pInt);
1552 xf86FreeInt10(pNv->pInt);
1560 xf86FreeInt10(pNv->pInt);
1564 vgaHWSetMmioFuncs(VGAHWPTR(pScrn), (char *)pNv->IOAddress, 0);
1576 if (!(pNv->Options = malloc(sizeof(NVOptions))))
1578 memcpy(pNv->Options, NVOptions, sizeof(NVOptions));
1579 xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, pNv->Options);
1586 pNv->HWCursor = TRUE;
1591 if (xf86GetOptValBool(pNv->Options, OPTION_HW_CURSOR, &pNv->HWCursor)) {
1595 if (xf86ReturnOptValBool(pNv->Options, OPTION_SW_CURSOR, FALSE)) {
1597 pNv->HWCursor = FALSE;
1600 pNv->HWCursor ? "HW" : "SW");
1602 pNv->FpScale = TRUE;
1603 if (xf86GetOptValBool(pNv->Options, OPTION_FP_SCALE, &pNv->FpScale)) {
1605 pNv->FpScale ? "on" : "off");
1607 if (xf86ReturnOptValBool(pNv->Options, OPTION_NOACCEL, FALSE)) {
1608 pNv->NoAccel = TRUE;
1611 if (xf86ReturnOptValBool(pNv->Options, OPTION_SHADOW_FB, FALSE)) {
1612 pNv->ShadowFB = TRUE;
1613 pNv->NoAccel = TRUE;
1617 if (xf86ReturnOptValBool(pNv->Options, OPTION_FBDEV, FALSE)) {
1618 pNv->FBDev = TRUE;
1622 if (pNv->FBDev) {
1625 xf86FreeInt10(pNv->pInt);
1629 if (!fbdevHWInit(pScrn, pNv->PciInfo, NULL)) {
1630 xf86FreeInt10(pNv->pInt);
1639 pNv->Rotate = 0;
1640 pNv->RandRRotation = FALSE;
1641 if ((s = xf86GetOptValString(pNv->Options, OPTION_ROTATE))) {
1643 pNv->ShadowFB = TRUE;
1644 pNv->NoAccel = TRUE;
1645 pNv->HWCursor = FALSE;
1646 pNv->Rotate = 1;
1651 pNv->ShadowFB = TRUE;
1652 pNv->NoAccel = TRUE;
1653 pNv->HWCursor = FALSE;
1654 pNv->Rotate = -1;
1660 pNv->ShadowFB = TRUE;
1661 pNv
1662 pNv->HWCursor = FALSE;
1663 pNv->RandRRotation = TRUE;
1680 if(xf86GetOptValInteger(pNv->Options, OPTION_VIDEO_KEY, &(pNv->videoKey))) {
1682 pNv->videoKey);
1684 pNv->videoKey = (1 << pScrn->offset.red) |
1689 if (xf86GetOptValBool(pNv->Options, OPTION_FLAT_PANEL, &(pNv->FlatPanel))) {
1691 pNv->FlatPanel ? "DFP" : "CRTC");
1693 pNv->FlatPanel = -1; /* autodetect later */
1696 pNv->FPDither = FALSE;
1697 if (xf86GetOptValBool(pNv->Options, OPTION_FP_DITHER, &(pNv->FPDither)))
1700 if (xf86GetOptValInteger(pNv->Options, OPTION_CRTC_NUMBER,
1701 &pNv->CRTCnumber))
1703 if((pNv->CRTCnumber < 0) || (pNv->CRTCnumber > 1)) {
1704 pNv->CRTCnumber = -1;
1709 pNv->CRTCnumber = -1; /* autodetect later */
1713 if (xf86GetOptValInteger(pNv->Options, OPTION_FP_TWEAK,
1714 &pNv->PanelTweak))
1716 pNv->usePanelTweak = TRUE;
1718 pNv->usePanelTweak = FALSE;
1721 if (xf86ReturnOptValBool(pNv->Options, OPTION_DUALHEAD, FALSE)) {
1722 if (pNv->FBDev)
1726 pNv->VBEDualhead = TRUE;
1729 if (pNv->VBEDualhead) {
1736 pNv->pVbe = VBEExtendedInit(NULL, pNv->pEnt->index,
1738 if (!pNv->pVbe) return FALSE;
1740 pNv->pVbeInfo = VBEGetVBEInfo(pNv->pVbe);
1741 if (!pNv->pVbeInfo) return FALSE;
1748 pNv->HWCursor = FALSE;
1756 if (pNv->pEnt->device->MemBase != 0) {
1758 if (!xf86CheckPciMemBase(pNv->PciInfo, pNv->pEnt->device->MemBase)) {
1761 pNv->pEnt->device->MemBase);
1762 xf86FreeInt10(pNv->pInt);
1766 pNv->FbAddress = pNv->pEnt->device->MemBase;
1769 if (MEMBASE(pNv->PciInfo, 1) != 0) {
1770 pNv->FbAddress = MEMBASE(pNv->PciInfo, 1) & 0xff800000;
1775 xf86FreeInt10(pNv->pInt);
1781 (unsigned long)pNv->FbAddress);
1783 if (pNv->pEnt->device->IOBase != 0) {
1785 if (!xf86CheckPciMemBase(pNv->PciInfo, pNv->pEnt->device->IOBase)) {
1788 pNv->pEnt->device->IOBase);
1789 xf86FreeInt10(pNv->pInt);
1793 pNv->IOAddress = pNv->pEnt->device->IOBase;
1796 if (MEMBASE(pNv->PciInfo, 0) != 0) {
1797 pNv->IOAddress = MEMBASE(pNv->PciInfo, 0) & 0xffffc000;
1802 xf86FreeInt10(pNv->pInt);
1808 (unsigned long)pNv->IOAddress);
1811 if (xf86RegisterResources(pNv->pEnt->index, NULL, ResExclusive)) {
1814 xf86FreeInt10(pNv->pInt);
1820 switch (pNv->Chipset & 0x0ff0) {
1828 pNv->Architecture = NV_ARCH_10;
1833 pNv->Architecture = NV_ARCH_20;
1840 pNv->Architecture = NV_ARCH_30;
1856 pNv->Architecture = NV_ARCH_40;
1859 switch (pNv->Chipset & 0xf) {
1868 pNv->Architecture = NV_ARCH_40;
1875 pNv->Architecture = NV_ARCH_30;
1878 pNv->Architecture = NV_ARCH_10;
1882 pNv->Architecture = NV_ARCH_04;
1886 pNv->alphaCursor = (pNv->Architecture >= NV_ARCH_10) &&
1887 ((pNv->Chipset & 0x0ff0) != 0x0100);
1897 if (pNv->FBDev) {
1900 pScrn->videoRam = pNv->RamAmountKBytes;
1905 pNv->FbMapSize = pScrn->videoRam * 1024;
1916 xf86FreeInt10(pNv->pInt);
1921 if(pNv->Architecture >= NV_ARCH_40)
1922 pNv->FbUsableSize = pNv->FbMapSize - (560 * 1024);
1924 pNv->FbUsableSize = pNv->FbMapSize - (128 * 1024);
1925 pNv->ScratchBufferSize = (pNv->Architecture < NV_ARCH_10) ? 8192 : 16384;
1926 pNv->ScratchBufferStart = pNv->FbUsableSize - pNv->ScratchBufferSize;
1927 pNv->CursorStart = pNv->FbUsableSize + (32 * 1024);
1936 clockRanges->minClock = pNv->MinVClockFreqKHz;
1937 clockRanges->maxClock = pNv->MaxVClockFreqKHz;
1940 if((pNv->Architecture == NV_ARCH_20) ||
1941 ((pNv->Architecture == NV_ARCH_10) &&
1942 ((pNv->Chipset & 0x0ff0) != 0x0100) &&
1943 ((pNv->Chipset & 0x0ff0) != 0x0150)))
1951 if(pNv->FlatPanel == 1) {
1956 if(pNv->Architecture < NV_ARCH_10) {
1965 if (pNv->FlatPanel && !pNv->Television && pNv->fpWidth && pNv->fpHeight) {
1968 Mode = xf86CVTMode(pNv->fpWidth, pNv->fpHeight, 60.00, TRUE, FALSE);
2001 if (pNv->VBEDualhead) {
2002 pScrn->modePool = VBEGetModePool(pScrn, pNv->pVbe, pNv->pVbeInfo,
2012 pNv->ScratchBufferStart,
2015 VBESetModeParameters(pScrn, pNv->pVbe);
2023 pNv->ScratchBufferStart,
2027 if (i < 1 && pNv->FBDev) {
2033 xf86FreeInt10(pNv->pInt);
2043 xf86FreeInt10(pNv->pInt);
2058 if (pNv->VBEDualhead) {
2090 xf86FreeInt10(pNv->pInt);
2096 if (!pNv->NoAccel) {
2101 pNv->NoAccel = 1;
2102 pNv->ShadowFB = 1;
2107 pNv->NoAccel = 1;
2108 pNv->ShadowFB = 1;
2110 pNv->UseEXA = 1;
2115 if (pNv->HWCursor) {
2117 xf86FreeInt10(pNv->pInt);
2124 if (pNv->ShadowFB) {
2126 xf86FreeInt10(pNv->pInt);
2132 pNv->CurrentLayout.bitsPerPixel = pScrn->bitsPerPixel;
2133 pNv->CurrentLayout.depth = pScrn->depth;
2134 pNv->CurrentLayout.displayWidth = pScrn->displayWidth;
2135 pNv->CurrentLayout.weight.red = pScrn->weight.red;
2136 pNv->CurrentLayout.weight.green = pScrn->weight.green;
2137 pNv->CurrentLayout.weight.blue = pScrn->weight.blue;
2138 pNv->CurrentLayout.mode = pScrn->currentMode;
2140 xf86FreeInt10(pNv->pInt);
2142 pNv->pInt = NULL;
2154 NVPtr pNv = NVPTR(pScrn);
2159 pci_device_map_range(pNv->PciInfo, pNv->FbAddress, pNv->FbMapSize,
2162 pNv->FbBase = tmp;
2164 pNv->FbBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER,
2165 pNv->PciTag, pNv->FbAddress,
2166 pNv->FbMapSize);
2168 if (pNv->FbBase == NULL)
2171 pNv->FbStart = pNv->FbBase;
2179 NVPtr pNv;
2181 pNv = NVPTR(pScrn);
2183 pNv->FbBase = fbdevHWMapVidmem(pScrn);
2184 if (pNv->FbBase == NULL)
2187 pNv->FbStart = pNv->FbBase;
2199 NVPtr pNv;
2201 pNv = NVPTR(pScrn);
2204 pci_device_unmap_range(pNv->PciInfo, pNv->FbBase, pNv->FbMapSize);
2206 xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pNv->FbBase, pNv->FbMapSize);
2208 pNv->FbBase = NULL;
2209 pNv->FbStart = NULL;
2224 NVPtr pNv = NVPTR(pScrn);
2233 nvReg = &pNv->ModeReg;
2238 NVLockUnlock(pNv, 0);
2239 if(pNv->twoHeads) {
2240 VGA_WR08(pNv->PCIO, 0x03D4, 0x44);
2241 VGA_WR08(pNv->PCIO, 0x03D5, nvReg->crtcOwner);
2242 NVLockUnlock(pNv, 0);
2255 VGA_WR08(pNv->PCIO, 0x3d4, 0x46);
2256 tmp = VGA_RD08(pNv->PCIO, 0x3d5);
2258 VGA_WR08(pNv->PCIO, 0x3d5, tmp);
2266 pNv->CurrentLayout.mode = mode;
2274 NVPtr pNv = NVPTR(pScrn);
2281 if(!VBESetVBEMode(pNv->pVbe, mode, data->block))
2283 pNv->PCRTC0[0x820/4] = pNv->PCRTC0[0x2820/4] =
2285 pNv->vbeCRTC1Offset = pMode->CrtcHDisplay * (pScrn->bitsPerPixel / 8);
2289 NVLoadStateExt(pNv, NULL);
2292 pNv->CurrentLayout.mode = pMode;
2305 NVPtr pNv = NVPTR(pScrn);
2306 NVRegPtr nvReg = &pNv->SavedReg;
2308 if(pNv->HWCursor) {
2309 NVShowHideCursor(pNv, 0);
2312 NVLockUnlock(pNv, 0);
2314 if(pNv->twoHeads) {
2315 VGA_WR08(pNv->PCIO, 0x03D4, 0x44);
2316 VGA_WR08(pNv->PCIO, 0x03D5, pNv->CRTCnumber * 0x3);
2317 NVLockUnlock(pNv, 0);
2322 NVDACRestore(pScrn, vgaReg, nvReg, pNv->Primary);
2323 if(pNv->twoHeads) {
2324 VGA_WR08(pNv->PCIO, 0x03D4, 0x44);
2325 VGA_WR08(pNv->PCIO, 0x03D5, nvReg->crtcOwner);
2330 static void NVBacklightEnable(NVPtr pNv, Bool on)
2336 if((pNv->Chipset == 0x10DE0179) ||
2337 (pNv->Chipset == 0x10DE0189) ||
2338 (pNv->Chipset == 0x10DE0329))
2342 tmp_pmc = pNv->PMC[0x10F0/4] & 0x7FFFFFFF;
2343 tmp_pcrt = pNv->PCRTC0[0x081C/4] & 0xFFFFFFFC;
2348 pNv->PMC[0x10F0/4] = tmp_pmc;
2349 pNv->PCRTC0[0x081C/4] = tmp_pcrt;
2353 if(pNv->LVDS) {
2354 if(pNv->twoHeads) {
2355 if((pNv->Chipset & 0x0ff0) != 0x0110) {
2356 pNv->PMC[0x130C/4] = on ? 3 : 7;
2357 } else if(SUBVENDOR_ID(pNv->PciInfo) == 0x1028 &&
2358 SUBDEVICE_ID(pNv->PciInfo) == 0xd4) {
2360 CARD32 tmp_pcrt = pNv->PCRTC0[0x081C/4] & 0xFFFFFFFC;
2363 pNv->PCRTC0[0x081C/4] = tmp_pcrt;
2369 fpcontrol = pNv->PRAMDAC[0x0848/4] & 0xCfffffCC;
2372 if(on) fpcontrol |= pNv->fpSyncs;
2375 pNv->PRAMDAC[0x0848/4] = fpcontrol;
2382 NVPtr pNv = NVPTR(pScrn);
2392 NVBacklightEnable(pNv, 0);
2395 NVBacklightEnable(pNv, 1);
2437 NVPtr pNv = NVPTR(pScrn);
2441 pScreen->CreateScreenResources = pNv->CreateScreenResources;
2461 NVPtr pNv = NVPTR(pScrn);
2465 pNv->CreateScreenResources = pScreen->CreateScreenResources;
2481 NVPtr pNv;
2494 pNv = NVPTR(pScrn);
2497 if (pNv->FBDev) {
2509 if (pNv->Primary && !pNv->FBDev) {
2516 if (pNv->FBDev) {
2520 } else if (pNv->VBEDualhead) {
2571 if(pNv->Rotate) {
2580 if(pNv->RandRRotation)
2585 if(pNv->ShadowFB) {
2586 pNv->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * width);
2587 pNv->ShadowPtr = malloc(pNv->ShadowPitch * shadowHeight);
2588 displayWidth = pNv->ShadowPitch / (pScrn->bitsPerPixel >> 3);
2589 FBStart = pNv->ShadowPtr;
2591 pNv->ShadowPtr = NULL;
2592 FBStart = pNv->FbStart;
2632 if(!pNv->ShadowFB) /* hardware cursor needs to wrap this layer */
2635 offscreenHeight = pNv->ScratchBufferStart /
2647 if (!pNv->NoAccel)
2650 if ((!pNv->NoAccel) && (pNv->UseEXA == 1))
2662 if (pNv->HWCursor) {
2675 (pNv->FBDev ? fbdevHWLoadPaletteWeak() : NVDACLoadPalette),
2679 if(pNv->ShadowFB) {
2682 if(pNv->Rotate || pNv->RandRRotation) {
2683 pNv->PointerMoved = pScrn->PointerMoved;
2684 if(pNv->Rotate)
2692 if(!pNv->RandRRotation) {
2703 pNv->refreshArea = refreshArea;
2707 if(pNv->FlatPanel)
2712 pScrn->memPhysBase = pNv->FbAddress;
2715 if(pNv->Rotate == 0 && !pNv->RandRRotation)
2721 pNv->CloseScreen = pScreen->CloseScreen;
2724 pNv->BlockHandler = pScreen->BlockHandler;
2727 pNv->accessEnabled = TRUE;
2728 pNv->EnableDisableFBAccess = pScrn->EnableDisableFBAccess;
2754 NVPtr pNv = NVPTR(pScrn);
2755 NVRegPtr nvReg = &pNv->SavedReg;
2759 NVLockUnlock(pNv, 0);
2760 if(pNv->twoHeads) {
2761 VGA_WR08(pNv->PCIO, 0x03D4, 0x44);
2762 VGA_WR08(pNv->PCIO, 0x03D5, pNv->CRTCnumber * 0x3);
2763 NVLockUnlock(pNv, 0);
2766 NVDACSave(pScrn, vgaReg, nvReg, pNv->Primary);
2772 NVPtr pNv = NVPTR(pScrn);
2775 VBEGetVBEMode(pNv->pVbe, &pNv->vbeMode);
2779 VBESetVBEMode(pNv->pVbe, pNv->vbeMode, NULL);
2787 NVPtr pNv = NVPTR(pScrn);
2789 if(pNv->RandRRotation)
2800 NVPtr pNv = NVPTR(pScrn);
2804 pNv->Rotate = 0;
2805 pScrn->PointerMoved = pNv->PointerMoved;
2809 pNv->Rotate = -1;
2814 pNv->Rotate = 1;
2821 pNv->Rotate = 0;
2822 pScrn->PointerMoved = pNv->PointerMoved;