Lines Matching refs:pATI
92 ATIPtr pATI,
100 pATI->VideoRAM, MemoryTypeName);
102 if (pATI->VideoRAM > pScreenInfo->videoRam)
124 ATIPtr pATI,
135 ATIPrintRegisters(pATI);
151 ATIPtr pATI,
161 pATI->ProgrammableClock = BIOSByte(ClockTable);
162 pATI->ClockNumberToProgramme = BIOSByte(ClockTable + 0x06U);
163 pATI->refclk = BIOSWord(ClockTable + 0x08U);
164 pATI->refclk *= 10000;
172 if ((pATI->DAC & ~0x0FU) == ATI_DAC_INTERNAL)
174 pATI->ProgrammableClock = ATI_CLOCK_INTERNAL;
176 else switch (pATI->DAC)
179 pATI->ProgrammableClock = ATI_CLOCK_STG1703;
183 pATI->ProgrammableClock = ATI_CLOCK_CH8398;
187 pATI->ProgrammableClock = ATI_CLOCK_ATT20C408;
191 pATI->ProgrammableClock = ATI_CLOCK_IBMRGB514;
195 pATI->ProgrammableClock = ATI_CLOCK_ICS2595;
200 pATI->ClockNumberToProgramme = 3;
203 pATI->ClockDescriptor = ATIClockDescriptors[ATI_CLOCK_FIXED];
205 if ((pATI->ProgrammableClock > ATI_CLOCK_FIXED) &&
206 (pATI->ProgrammableClock < ATI_CLOCK_MAX))
213 if ((pATI->ProgrammableClock == ATI_CLOCK_ICS2595) &&
214 (pATI->DAC == ATI_DAC_IBMRGB514))
215 pATI->ProgrammableClock = ATI_CLOCK_IBMRGB514;
217 pATI->ClockDescriptor = ATIClockDescriptors[pATI->ProgrammableClock];
220 ClockDac = pATI->DAC;
221 switch (pATI->ProgrammableClock)
229 pATI->ClockDescriptor.MinM =
230 pATI->ClockDescriptor.MaxM = BIOSWord(ClockTable + 0x0AU);
232 pATI->ClockDescriptor.MinM =
233 pATI->ClockDescriptor.MaxM = 43;
235 pATI->ClockDescriptor.MinM =
236 pATI->ClockDescriptor.MaxM = 46;
238 pATI->ProgrammableClock = ATI_CLOCK_UNKNOWN;
264 pATI->ClockDescriptor.MinM =
265 pATI->ClockDescriptor.MaxM = ATIMach64GetPLLReg(PLL_REF_DIV);
268 if ((pATI->DAC & ~0x0FU) != ATI_DAC_INTERNAL)
281 pATI->ClockNumberToProgramme = 7;
293 if (pATI->DAC != ClockDac)
298 pATI->DAC, ClockDac);
300 if (pATI->DAC == ATI_DAC_IBMRGB514)
302 pATI->ProgrammableClock = ATI_CLOCK_IBMRGB514;
303 pATI->ClockDescriptor = ATIClockDescriptors[ATI_CLOCK_IBMRGB514];
304 pATI->ClockNumberToProgramme = 7;
308 pATI->DAC = ClockDac; /* For now */
312 switch (pATI->refclk / 100000)
315 pATI->ReferenceNumerator = 157500;
316 pATI->ReferenceDenominator = 11;
320 pATI->ReferenceNumerator = 315000;
321 pATI->ReferenceDenominator = 11;
325 pATI->ReferenceNumerator = pATI->refclk / 1000;
326 pATI->ReferenceDenominator = 1;
339 ATIPtr pATI,
345 pATI->Audio = ATI_AUDIO_NONE;
352 pATI->Tuner = BIOSByte(VideoTable) & 0x1FU;
358 switch (pATI->Chip)
362 pATI->Decoder = BIOSByte(VideoTable + 0x01U) & 0x07U;
363 pATI->Audio = BIOSByte(VideoTable + 0x02U) & 0x0FU;
367 pATI->Decoder = BIOSByte(VideoTable + 0x02U) & 0x07U;
368 pATI->Audio = BIOSByte(VideoTable + 0x03U) & 0x0FU;
375 pATI->Tuner = BIOSByte(VideoTable) & 0x1FU;
376 pATI->Audio = BIOSByte(VideoTable + 0x01U) & 0x0FU;
377 pATI->Decoder = BIOSByte(VideoTable + 0x05U) & 0x0FU;
387 pATI->I2CType = BIOSByte(HardwareTable + 0x06U) & 0x0FU;
398 ATIPtr pATI,
412 ((BIOSByte(LCDPanelInfo) != pATI->LCDPanelID) &&
413 (pATI->LCDPanelID || (BIOSByte(LCDPanelInfo) > 0x1FU) ||
414 (pATI->Chip <= ATI_CHIP_264LTPRO))))
426 if ((BIOSByte(i) != pATI->LCDPanelID) &&
427 (pATI->LCDPanelID || (BIOSByte(i) > 0x1FU) ||
428 (pATI->Chip <= ATI_CHIP_264LTPRO)))
442 if (pATI->LCDHorizontal &&
443 (pATI->LCDHorizontal != BIOSWord(i + 0x19U)))
447 if (pATI->LCDVertical &&
448 (pATI->LCDVertical != BIOSWord(i + 0x1BU)))
479 pATI->LCDPanelID = BIOSByte(LCDPanelInfo);
480 pATI->LCDHorizontal = BIOSWord(LCDPanelInfo + 0x19U);
481 pATI->LCDVertical = BIOSWord(LCDPanelInfo + 0x1BU);
519 ATIPtr pATI;
540 # define pATIHW (&pATI->OldHW)
559 pATI = ATIPTR(pScreenInfo);
568 pATI->iEntity = pEntity->index;
569 pATI->Chip = pEntity->chipset;
570 pVideo = xf86GetPciInfoForEntity(pATI->iEntity);
576 pResources = xf86RegisterResources(pATI->iEntity, NULL, ResShared);
594 if ((pATI->Chip < ATI_CHIP_264CT))
651 ATIProcessOptions(pScreenInfo, pATI);
654 if (!ATIMach64ProbeIO(pVideo, pATI))
657 ATIClaimBusSlot(pGDev->active, pATI);
662 pATI->pVBE = NULL;
663 pATI->pInt10 = NULL;
676 if ((pVBE = VBEInit(NULL, pATI->iEntity)))
706 pATI->pVBE = pVBE;
742 if (pATI->CPIODecoding == BLOCK_IO)
743 pATI->CPIOBase = PCI_REGION_BASE(pVideo, 1, REGION_IO);
745 pATI->MMIOInLinear = FALSE;
748 if ((pATI->Block0Base = PCI_REGION_BASE(pVideo, 2, REGION_MEM)))
750 pATI->Block0Base += 0x0400U;
771 pATI->nFIFOEntries = 16; /* For now */
784 if (!ATIMapApertures(pScreenInfo->scrnIndex, pATI))
789 if (!pATI->pBlock[0])
802 if (pATI->config_chip_id != inr(CONFIG_CHIP_ID))
806 ATIUnmapApertures(pScreenInfo->scrnIndex, pATI);
812 (pATI->Chip >= ATI_CHIP_264CT))
832 if (pATI->Chip < ATI_CHIP_264VTB)
835 pATI->VideoRAM = videoRamSizes[IOValue];
839 pATI->nFIFOEntries = /* Don't care */
844 pATI->VideoRAM = (IOValue + 1) * 512;
846 pATI->VideoRAM = (IOValue - 3) * 1024;
848 pATI->VideoRAM = (IOValue - 7) * 2048;
852 if (pATI->Chip >= ATI_CHIP_264CT)
854 pATI->MemoryType = GetBits(IOValue, CFG_MEM_TYPE_T);
858 pATI->MemoryType = GetBits(IOValue, CFG_MEM_TYPE);
861 pATI->LCDPanelID = -1;
863 if (pATI->Chip >= ATI_CHIP_264CT)
866 if (pATI->Chip == ATI_CHIP_264LT)
868 pATI->LCDPanelID = GetBits(IOValue, CFG_PANEL_ID);
874 else if ((pATI->Chip == ATI_CHIP_264LTPRO) ||
875 (pATI->Chip == ATI_CHIP_264XL) ||
876 (pATI->Chip == ATI_CHIP_MOBILITY))
878 pATI->LCDPanelID = GetBits(IOValue, CFG_PANEL_ID);
883 pATI->LCDHorizontal =
885 if (pATI->LCDHorizontal)
887 if (pATI->LCDHorizontal == MaxBits(HORZ_PANEL_SIZE))
888 pATI->LCDHorizontal = 0;
890 pATI->LCDHorizontal =
891 (pATI->LCDHorizontal + 1) << 3;
895 pATI->LCDVertical =
897 if (pATI->LCDVertical)
899 if (pATI->LCDVertical == MaxBits(VERT_PANEL_SIZE))
900 pATI->LCDVertical = 0;
902 pATI->LCDVertical++;
914 if ((pATI->LCDPanelID >= 0) &&
925 if ((pATI->Chip >= ATI_CHIP_264XL) &&
926 (!pATI->LCDHorizontal || !pATI->LCDVertical))
927 pATI->LCDPanelID = -1;
929 pATI->OptionPanelDisplay = FALSE;
934 pATI->DAC = GetBits(inr(DAC_CNTL), DAC_TYPE);
936 if (pATI->Chip < ATI_CHIP_264CT)
939 pATI->DAC = ATI_DAC(pATI->DAC,
947 if (pATI->DAC < ATI_DAC_ATI68875)
948 pATI->DAC += ATI_DAC_INTERNAL;
985 if (pATI->Chip == ATI_CHIP_264XL)
986 pATI->refclk = 29498000;
989 ati_bios_clock(pScreenInfo, pATI, BIOS, ClockTable, pGDev);
990 ati_bios_mmedia(pScreenInfo, pATI, BIOS, VideoTable, HardwareTable);
992 if (pATI->LCDPanelID >= 0)
998 ati_bios_panel_info(pScreenInfo, pATI, BIOS, BIOSSize, LCDTable);
1016 pATI->I2CType, pATI->Tuner, pATI->Decoder, pATI->Audio);
1019 ATIUnlock(pATI); /* Unlock registers */
1024 xf86TokenToString(Mach64Chipsets, pATI->Chip));
1028 pATI->ChipType);
1029 if (!(pATI->ChipType & ~(CHIP_CODE_0 | CHIP_CODE_1)))
1032 GetBits(pATI->ChipType, CHIP_CODE_1) + 0x41U,
1033 GetBits(pATI->ChipType, CHIP_CODE_0) + 0x41U);
1034 else if ((pATI->ChipType & 0x4040U) == 0x4040U)
1037 GetByte(pATI->ChipType, 1), GetByte(pATI->ChipType, 0));
1038 if ((pATI->Chip >= ATI_CHIP_264CT) && (pATI->Chip != ATI_CHIP_Mach64))
1041 pATI->ChipVersion, ATIFoundryNames[pATI->ChipFoundry]);
1044 Buffer, pATI->ChipClass, pATI->ChipRevision);
1049 "%s bus interface detected", ATIBusNames[pATI->BusType]);
1056 (pATI->CPIODecoding == SPARSE_IO) ? "sparse" : "block",
1057 pATI->CPIOBase);
1068 if (pATI->CPIO_VGAWonder)
1071 pATI->CPIO_VGAWonder);
1079 if (pATI->Chip >= ATI_CHIP_264GT)
1084 if ((pATI->DAC & ~0x0FU) == ATI_DAC_INTERNAL)
1087 "Internal RAMDAC (subtype %d) detected.\n", pATI->DAC & 0x0FU);
1095 if (pATI->DAC == DAC->token)
1102 if (pATI->DAC < DAC->token)
1105 "Unknown RAMDAC type 0x%02X detected.\n", pATI->DAC);
1124 if (pATI->Chip < ATI_CHIP_264CT)
1128 pATI->rgbBits = pScreenInfo->rgbBits;
1156 (pATI->DAC == ATI_DAC_INTERNAL))))
1172 pATI->depth = pScreenInfo->depth;
1173 pATI->bitsPerPixel = pScreenInfo->bitsPerPixel;
1174 pATI->weight = pScreenInfo->weight;
1175 pATI->XModifier = pATI->bitsPerPixel / UnitOf(pATI->bitsPerPixel);
1182 pATI->NewHW.crtc = ATI_CRTC_MACH64;
1190 if (pATI->VGAAdapter)
1197 xf86SetOperatingState(resVgaIo, pATI->iEntity, ResUnusedOpr);
1205 if (pATI->CPIO_VGAWonder)
1207 pResources = xf86SetOperatingState(pATI->VGAWonderResources,
1208 pATI->iEntity, ResUnusedOpr);
1227 if (pATI->LCDPanelID >= 0)
1229 if (!pATI->OptionPanelDisplay)
1249 if (pATI->Chip == ATI_CHIP_264LT)
1257 else /* if ((pATI->Chip == ATI_CHIP_264LTPRO) ||
1258 (pATI->Chip == ATI_CHIP_264XL) ||
1259 (pATI->Chip == ATI_CHIP_MOBILITY)) */
1280 pATIHW->crt[2] = GetReg(CRTX(pATI->CPIO_VGABase), 0x02U);
1281 pATIHW->crt[3] = GetReg(CRTX(pATI->CPIO_VGABase), 0x03U);
1282 pATIHW->crt[5] = GetReg(CRTX(pATI->CPIO_VGABase), 0x05U);
1283 pATIHW->crt[7] = GetReg(CRTX(pATI->CPIO_VGABase), 0x07U);
1284 pATIHW->crt[9] = GetReg(CRTX(pATI->CPIO_VGABase), 0x09U);
1285 pATIHW->crt[21] = GetReg(CRTX(pATI->CPIO_VGABase), 0x15U);
1286 pATIHW->crt[22] = GetReg(CRTX(pATI->CPIO_VGABase), 0x16U);
1294 if (pATI->Chip == ATI_CHIP_264LT)
1296 else /* if ((pATI->Chip == ATI_CHIP_264LTPRO) ||
1297 (pATI->Chip == ATI_CHIP_264XL) ||
1298 (pATI->Chip == ATI_CHIP_MOBILITY)) */
1303 GetReg(CRTX(pATI->CPIO_VGABase), 0x02U);
1305 GetReg(CRTX(pATI->CPIO_VGABase), 0x03U);
1307 GetReg(CRTX(pATI->CPIO_VGABase), 0x05U);
1309 GetReg(CRTX(pATI->CPIO_VGABase), 0x07U);
1311 GetReg(CRTX(pATI->CPIO_VGABase), 0x09U);
1313 GetReg(CRTX(pATI->CPIO_VGABase), 0x15U);
1315 GetReg(CRTX(pATI->CPIO_VGABase), 0x16U);
1343 pATI->OptionLCDSync = TRUE;
1355 if ((pATI->Chip < ATI_CHIP_264LTPRO) ||
1443 pATI->LCDHBlankWidth = HBlankEnd - HBlankStart;
1444 pATI->LCDHSyncStart = HSyncStart - HBlankStart;
1445 pATI->LCDHSyncWidth = HSyncEnd - HSyncStart;
1447 pATI->LCDVBlankWidth = VBlankEnd - VBlankStart;
1448 pATI->LCDVSyncStart = VSyncStart - VBlankStart;
1449 pATI->LCDVSyncWidth = VSyncEnd - VSyncStart;
1451 HDisplay = HTotal + 5 - pATI->LCDHBlankWidth;
1452 VDisplay = VTotal + 2 - pATI->LCDVBlankWidth;
1469 if (pATI->Chip == ATI_CHIP_264LT)
1471 else /* if ((pATI->Chip == ATI_CHIP_264LTPRO) ||
1472 (pATI->Chip == ATI_CHIP_264XL) ||
1473 (pATI->Chip == ATI_CHIP_MOBILITY)) */
1504 pATI->OptionLCDSync = TRUE;
1512 if ((pATI->Chip < ATI_CHIP_264LTPRO) ||
1553 pATI->LCDHSyncStart =
1559 pATI->LCDHSyncWidth =
1561 pATI->LCDHBlankWidth =
1564 pATI->LCDVSyncStart =
1567 pATI->LCDVSyncWidth =
1569 pATI->LCDVBlankWidth =
1578 if (pATI->Chip == ATI_CHIP_264LT)
1582 else /* if ((pATI->Chip == ATI_CHIP_264LTPRO) ||
1583 (pATI->Chip == ATI_CHIP_264XL) ||
1584 (pATI->Chip == ATI_CHIP_MOBILITY)) */
1591 pATI->LCDHSyncStart <<= 3;
1592 pATI->LCDHSyncWidth <<= 3;
1593 pATI->LCDHBlankWidth <<= 3;
1691 if (!pATI->LCDHorizontal)
1696 pATI->LCDHorizontal = HDisplay;
1698 else if (pATI->LCDHorizontal != (int)HDisplay)
1705 " %d and %d.\n", pATI->LCDHorizontal, HDisplay);
1706 HDisplay = pATI->LCDHorizontal;
1709 if (!pATI->LCDVertical)
1713 pATI->LCDVertical = VDisplay;
1715 else if (pATI->LCDVertical != (int)VDisplay)
1721 pATI->LCDVertical, VDisplay);
1722 VDisplay = pATI->LCDVertical;
1725 if (!pATI->LCDHorizontal || !pATI->LCDVertical)
1727 if (pATI->LCDPanelID || (pATI->Chip <= ATI_CHIP_264LTPRO))
1730 pATI->LCDPanelID);
1740 (pATI->LCDHorizontal > (int)HDisplay))
1742 HDisplay = pATI->LCDHorizontal - HDisplay;
1743 if (pATI->LCDHSyncStart >= HDisplay)
1744 pATI->LCDHSyncStart -= HDisplay;
1746 pATI->LCDHSyncStart = 0;
1747 pATI->LCDHBlankWidth -= HDisplay;
1748 HDisplay = pATI->LCDHSyncStart + pATI->LCDHSyncWidth;
1749 if (pATI->LCDHBlankWidth < HDisplay)
1750 pATI->LCDHBlankWidth = HDisplay;
1754 (pATI->LCDVertical > (int)VDisplay))
1756 VDisplay = pATI->LCDVertical - VDisplay;
1757 if (pATI->LCDVSyncStart >= VDisplay)
1758 pATI->LCDVSyncStart -= VDisplay;
1760 pATI->LCDVSyncStart = 0;
1761 pATI->LCDVBlankWidth -= VDisplay;
1762 VDisplay = pATI->LCDVSyncStart + pATI->LCDVSyncWidth;
1763 if (pATI->LCDVBlankWidth < VDisplay)
1764 pATI->LCDVBlankWidth = VDisplay;
1767 if (pATI->LCDPanelID || (pATI->Chip <= ATI_CHIP_264LTPRO))
1770 pATI->LCDHorizontal, pATI->LCDVertical, pATI->LCDPanelID);
1774 pATI->LCDHorizontal, pATI->LCDVertical);
1792 pATI->ReferenceNumerator;
1793 Denominator = pATI->ClockDescriptor.MinM *
1794 pATI->ReferenceDenominator *
1795 pATI->ClockDescriptor.PostDividers[i];
1796 pATI->LCDClock = ATIDivide(Numerator, Denominator, 1, 0);
1800 (double)(pATI->LCDClock) / 1000.0);
1804 pATI->OptionCRTDisplay ?
1812 pScreenInfo->videoRam = pATI->VideoRAM;
1818 pATI->LinearBase =
1822 pATI->LinearSize =
1829 if (pATI->LinearBase && !pATI->LinearSize)
1831 if ((pATI->Chip <= ATI_CHIP_88800GXD) &&
1832 (pATI->VideoRAM < 4096))
1833 pATI->LinearSize = 4 * 1024 * 1024;
1835 pATI->LinearSize = 8 * 1024 * 1024;
1839 if (pATI->LinearBase && pATI->LinearSize)
1849 if (!pATI->Block0Base)
1851 pATI->Block0Base =
1852 pATI->LinearBase + pATI->LinearSize - 0x00000400U;
1853 pATI->MMIOInLinear = TRUE;
1858 AcceleratorVideoRAM = pATI->LinearSize >> 10;
1864 if (pATI->MMIOInLinear || (pATI->Chip < ATI_CHIP_264VTB))
1867 ServerVideoRAM = pATI->VideoRAM;
1869 if (pATI->Cursor > ATI_CURSOR_SOFTWARE)
1880 pATI->CursorOffset = ServerVideoRAM << 10;
1881 pATI->CursorBase = pATI->LinearBase + pATI->CursorOffset;
1885 pATI->CursorBase);
1909 if (pATI->MMIOInLinear)
1918 pATI->LinearBase += 0x00800000U;
1919 AcceleratorVideoRAM = pATI->LinearSize >> 10;
1925 else if (AcceleratorVideoRAM > pATI->VideoRAM)
1926 AcceleratorVideoRAM = pATI->VideoRAM;
1934 pATI->LinearSize >> 20, pATI->LinearBase);
1937 ApertureSize = pATI->LinearSize =
1941 if (ServerVideoRAM < pATI->VideoRAM)
1953 if (!pATI->LinearBase || !pATI->LinearSize)
1960 if (pATI->Block0Base)
1963 "Using Block 0 MMIO aperture at 0x%08lX.\n", pATI->Block0Base);
1966 if (pATI->Chip >= ATI_CHIP_264VT)
1968 pATI->Block1Base = pATI->Block0Base - 0x00000400U;
1971 pATI->Block1Base);
1979 if (pATI->VGAAdapter)
1985 pResources = xf86SetOperatingState(resVgaMem, pATI->iEntity,
2003 ATILock(pATI);
2004 ATIUnmapApertures(pScreenInfo->scrnIndex, pATI);
2005 if (!ATIMapApertures(pScreenInfo->scrnIndex, pATI))
2008 ATIUnlock(pATI);
2010 if (pATI->OptionAccel)
2014 pATI->OptionMMIOCache ? "en" : "dis");
2018 if (pATI->Chip >= ATI_CHIP_264CT)
2019 ATIReportMemory(pScreenInfo, pATI,
2020 ATIMemoryTypeNames_264xT[pATI->MemoryType]);
2021 else if (pATI->Chip == ATI_CHIP_88800CX)
2022 ATIReportMemory(pScreenInfo, pATI,
2023 ATIMemoryTypeNames_88800CX[pATI->MemoryType]);
2025 ATIReportMemory(pScreenInfo, pATI,
2026 ATIMemoryTypeNames_Mach[pATI->MemoryType]);
2036 if (!pATI->VGAAdapter)
2038 pATI->NewHW.SetBank = ATIx8800SetBank;
2039 pATI->NewHW.nPlane = 0;
2041 pATIHW->crtc = pATI->NewHW.crtc;
2047 Bool ext_disp_en = (pATI->LockData.crtc_gen_cntl & CRTC_EXT_DISP_EN);
2048 Bool vga_ap_en = (pATI->LockData.config_cntl & CFG_MEM_VGA_AP_EN);
2051 pATI->NewHW.SetBank = ATIMach64SetBankPacked;
2052 pATI->NewHW.nPlane = 1;
2065 pATIHW->nBank = pATI->VideoRAM / (pATIHW->nPlane * 0x40U);
2085 pATIHW->crtc = pATI->NewHW.crtc;
2090 if (pATI->OptionShadowFB)
2094 if (pATI->OptionAccel)
2098 pATI->OptionShadowFB = FALSE;
2108 if ((pATI->Chip >= ATI_CHIP_264VTB) &&
2109 !ATIDSPPreInit(pScreenInfo->scrnIndex, pATI))
2116 if (pATI->ClockDescriptor.MaxN > 0)
2118 Numerator = pATI->ClockDescriptor.MaxN * pATI->ReferenceNumerator;
2119 Denominator = pATI->ClockDescriptor.MinM * pATI->ReferenceDenominator *
2120 pATI->ClockDescriptor.PostDividers[0];
2126 if (pATI->ProgrammableClock == ATI_CLOCK_INTERNAL)
2131 Numerator = pATI->ClockDescriptor.MinN * pATI->ReferenceNumerator;
2132 Denominator = pATI->ClockDescriptor.MaxM * pATI->ReferenceDenominator *
2133 pATI->ClockDescriptor.PostDividers[pATI->ClockDescriptor.NumD - 1];
2135 if (pATI->ProgrammableClock == ATI_CLOCK_INTERNAL)
2140 if (pATI->XCLKFeedbackDivider)
2143 Numerator = pATI->XCLKFeedbackDivider * 2 *
2144 pATI->ReferenceNumerator;
2145 Denominator = pATI->ClockDescriptor.MinM *
2146 pATI->XCLKReferenceDivider * pATI->ReferenceDenominator;
2149 Denominator *= pATI->bitsPerPixel / 4;
2152 i = (6 - 2) - pATI->XCLKPostDivider;
2165 if ((pATI->DAC & ~0x0FU) == ATI_DAC_INTERNAL)
2168 switch (pATI->bitsPerPixel)
2193 if (pATI->depth > 8)
2196 if ((pATI->Chip >= ATI_CHIP_264VTB) &&
2197 (pATI->Chip != ATI_CHIP_Mach64))
2199 if ((pATI->Chip >= ATI_CHIP_264VT4) &&
2200 (pATI->Chip != ATI_CHIP_264LTPRO))
2202 else if (pATI->Chip >= ATI_CHIP_264VT3)
2215 switch(pATI->DAC)
2224 pATI->maxClock = 220000;
2234 if (pATI->CPIO_VGAWonder && (pATI->VideoRAM < 1024))
2258 if ((pATI->ProgrammableClock <= ATI_CLOCK_FIXED) ||
2259 (pATI->ProgrammableClock >= ATI_CLOCK_MAX))
2266 ATIClockPreInit(pScreenInfo, pATI);
2273 if (pATI->Chip >= ATI_CHIP_264CT)
2282 pitchInc = minPitch * pATI->bitsPerPixel;
2284 if (pATI->Chip < ATI_CHIP_264VT)
2298 if (pATI->OptionAccel)
2304 if (maxPitch > (ATIMach64MaxX / pATI->XModifier))
2305 maxPitch = ATIMach64MaxX / pATI->XModifier;
2313 if ((pATI->Chip >= ATI_CHIP_264CT) &&
2314 ((pATI->Chip >= ATI_CHIP_264VTB) ||
2315 (pATI->MemoryType >= MEM_264_SGRAM)))
2316 pitchInc = pATI->XModifier * (64 * 8);
2319 if (pATI->OptionPanelDisplay && (pATI->LCDPanelID >= 0))
2337 pMode->Clock = pATI->LCDClock;
2338 pMode->HDisplay = pATI->LCDHorizontal;
2339 pMode->VDisplay = pATI->LCDVertical;
2386 double hsync = (double)pATI->LCDClock /
2387 (pATI->LCDHorizontal + pATI->LCDHBlankWidth);
2414 double vrefresh = ((double)pATI->LCDClock * 1000.0) /
2415 ((pATI->LCDHorizontal + pATI->LCDHBlankWidth) *
2416 (pATI->LCDVertical + pATI->LCDVBlankWidth));
2464 if (!ATILoadModules(pScreenInfo, pATI))
2467 pATI->displayWidth = pScreenInfo->displayWidth;
2470 ATIAdjustPreInit(pATI);
2476 MinX = pScreenInfo->virtualX - pATI->AdjustMaxX;
2477 MinY = pScreenInfo->virtualY - pATI->AdjustMaxY;
2487 else if ((pMode->HDisplay & ~pATI->AdjustMask) / pScreenInfo->xInc)
2491 pMode->name, ~pATI->AdjustMask + 1);
2495 ATIXVPreInit(pATI);
2498 ATIModePreInit(pScreenInfo, pATI, &pATI->NewHW);
2501 ATII2CPreInit(pScreenInfo, pATI);
2509 ATILock(pATI);
2512 ATIPrintNoiseIfRequested(pATI, BIOS, BIOSSize);
2513 ATIUnmapApertures(pScreenInfo->scrnIndex, pATI);