diff options
author | Alan Hourihane <alanh@fairlite.demon.co.uk> | 2005-05-31 17:58:26 +0000 |
---|---|---|
committer | Alan Hourihane <alanh@fairlite.demon.co.uk> | 2005-05-31 17:58:26 +0000 |
commit | 27feb0f3474c1e21557225e10b13558e002c0ebf (patch) | |
tree | 0870aeaa1ebb94256db68c70e9ce015fbdcca4a1 /src/i830_driver.c | |
parent | 2d10e8dc8184b0514e8ac9f835a06b85d609bb1b (diff) |
Add Intel(R) 945G support
Diffstat (limited to 'src/i830_driver.c')
-rw-r--r-- | src/i830_driver.c | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/src/i830_driver.c b/src/i830_driver.c index 66a919fc..654dc196 100644 --- a/src/i830_driver.c +++ b/src/i830_driver.c @@ -143,6 +143,9 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. * - Add lid status checking * - Fix Xvideo with high-res LFP's * - Add ARGB HW cursor support + * + * 30/2005 Alan Hourihane + * - Add Intel(R) 945G support. */ #ifndef PRINT_MODE_INFO @@ -188,6 +191,7 @@ static SymTabRec I830BIOSChipsets[] = { {PCI_CHIP_I915_G, "915G"}, {PCI_CHIP_E7221_G, "E7221 (i915)"}, {PCI_CHIP_I915_GM, "915GM"}, + {PCI_CHIP_I945_G, "945G"}, {-1, NULL} }; @@ -199,6 +203,7 @@ static PciChipsets I830BIOSPciChipsets[] = { {PCI_CHIP_I915_G, PCI_CHIP_I915_G, RES_SHARED_VGA}, {PCI_CHIP_E7221_G, PCI_CHIP_E7221_G, RES_SHARED_VGA}, {PCI_CHIP_I915_GM, PCI_CHIP_I915_GM, RES_SHARED_VGA}, + {PCI_CHIP_I945_G, PCI_CHIP_I945_G, RES_SHARED_VGA}, {-1, -1, RES_UNDEFINED} }; @@ -1314,7 +1319,7 @@ I830DetectMemory(ScrnInfoPtr pScrn) * The GTT varying according the the FbMapSize and the popup is 4KB */ range = (pI830->FbMapSize / (1024*1024)) + 4; - if (IS_I85X(pI830) || IS_I865G(pI830) || IS_I915G(pI830) || IS_I915GM(pI830)) { + if (IS_I85X(pI830) || IS_I865G(pI830) || IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) { switch (gmch_ctrl & I830_GMCH_GMS_MASK) { case I855_GMCH_GMS_STOLEN_1M: memsize = MB(1) - KB(range); @@ -1332,11 +1337,11 @@ I830DetectMemory(ScrnInfoPtr pScrn) memsize = MB(32) - KB(range); break; case I915G_GMCH_GMS_STOLEN_48M: - if (IS_I915G(pI830) || IS_I915GM(pI830)) + if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) memsize = MB(48) - KB(range); break; case I915G_GMCH_GMS_STOLEN_64M: - if (IS_I915G(pI830) || IS_I915GM(pI830)) + if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) memsize = MB(64) - KB(range); break; } @@ -2077,6 +2082,9 @@ I830BIOSPreInit(ScrnInfoPtr pScrn, int flags) case PCI_CHIP_I915_GM: chipname = "915GM"; break; + case PCI_CHIP_I945_G: + chipname = "945G"; + break; default: chipname = "unknown chipset"; break; @@ -2114,7 +2122,7 @@ I830BIOSPreInit(ScrnInfoPtr pScrn, int flags) pI830->LinearAddr = pI830->pEnt->device->MemBase; from = X_CONFIG; } else { - if (IS_I915G(pI830) || IS_I915GM(pI830)) { + if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) { pI830->LinearAddr = pI830->PciInfo->memBase[2] & 0xF0000000; from = X_PROBED; } else if (pI830->PciInfo->memBase[1] != 0) { @@ -2136,7 +2144,7 @@ I830BIOSPreInit(ScrnInfoPtr pScrn, int flags) pI830->MMIOAddr = pI830->pEnt->device->IOBase; from = X_CONFIG; } else { - if (IS_I915G(pI830) || IS_I915GM(pI830)) { + if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) { pI830->MMIOAddr = pI830->PciInfo->memBase[0] & 0xFFF80000; from = X_PROBED; } else if (pI830->PciInfo->memBase[1]) { @@ -2181,7 +2189,7 @@ I830BIOSPreInit(ScrnInfoPtr pScrn, int flags) pI830->FbMapSize = 0x4000000; /* 64MB - has this been tested ?? */ } } else { - if (IS_I915G(pI830) || IS_I915GM(pI830)) { + if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) { if (pI830->PciInfo->memBase[2] & 0x08000000) pI830->FbMapSize = 0x8000000; /* 128MB aperture */ else @@ -2853,16 +2861,13 @@ I830BIOSPreInit(ScrnInfoPtr pScrn, int flags) } /* Check if the HW cursor needs physical address. */ - if (IS_MOBILE(pI830) || IS_I915G(pI830)) + if (IS_MOBILE(pI830) || IS_I915G(pI830) || IS_I945G(pI830)) pI830->CursorNeedsPhysical = TRUE; else pI830->CursorNeedsPhysical = FALSE; - /* Force ring buffer to be in low memory for the 845G and later. */ -#if 0 - if (IS_845G(pI830) || IS_I85X(pI830) || IS_I865G(pI830) || IS_I915G(pI830) || IS_I915GM(pI830)) -#endif - pI830->NeedRingBufferLow = TRUE; + /* Force ring buffer to be in low memory for all chipsets */ + pI830->NeedRingBufferLow = TRUE; /* * XXX If we knew the pre-initialised GTT format for certain, we could |