84 lines
3.4 KiB
Diff
84 lines
3.4 KiB
Diff
From eaf05431b9ea8676d23106e6373b7d2b8ff2d97d Mon Sep 17 00:00:00 2001
|
|
From: Shaohua Li <shaohua.li@intel.com>
|
|
Date: Mon, 23 Feb 2009 15:19:16 +0800
|
|
Subject: agp/intel: Add support for new intel chipset.
|
|
|
|
This is a G33-like desktop and mobile chipset.
|
|
|
|
Signed-off-by: Shaohua Li <shaohua.li@intel.com>
|
|
Signed-off-by: Eric Anholt <eric@anholt.net>
|
|
---
|
|
drivers/char/agp/intel-agp.c | 21 ++++++++++++++++++---
|
|
1 files changed, 18 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
|
|
index c771418..0232cfc 100644
|
|
--- a/drivers/char/agp/intel-agp.c
|
|
+++ b/drivers/char/agp/intel-agp.c
|
|
@@ -26,6 +26,10 @@
|
|
#define PCI_DEVICE_ID_INTEL_82965GME_IG 0x2A12
|
|
#define PCI_DEVICE_ID_INTEL_82945GME_HB 0x27AC
|
|
#define PCI_DEVICE_ID_INTEL_82945GME_IG 0x27AE
|
|
+#define PCI_DEVICE_ID_INTEL_IGDGM_HB 0xA010
|
|
+#define PCI_DEVICE_ID_INTEL_IGDGM_IG 0xA011
|
|
+#define PCI_DEVICE_ID_INTEL_IGDG_HB 0xA000
|
|
+#define PCI_DEVICE_ID_INTEL_IGDG_IG 0xA001
|
|
#define PCI_DEVICE_ID_INTEL_G33_HB 0x29C0
|
|
#define PCI_DEVICE_ID_INTEL_G33_IG 0x29C2
|
|
#define PCI_DEVICE_ID_INTEL_Q35_HB 0x29B0
|
|
@@ -60,7 +64,12 @@
|
|
|
|
#define IS_G33 (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_G33_HB || \
|
|
agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_Q35_HB || \
|
|
- agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_Q33_HB)
|
|
+ agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_Q33_HB || \
|
|
+ agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDGM_HB || \
|
|
+ agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDG_HB)
|
|
+
|
|
+#define IS_IGD (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDGM_HB || \
|
|
+ agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDG_HB)
|
|
|
|
#define IS_G4X (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGD_E_HB || \
|
|
agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_Q45_HB || \
|
|
@@ -510,7 +519,7 @@ static void intel_i830_init_gtt_entries(void)
|
|
size = 512;
|
|
}
|
|
size += 4; /* add in BIOS popup space */
|
|
- } else if (IS_G33) {
|
|
+ } else if (IS_G33 && !IS_IGD) {
|
|
/* G33's GTT size defined in gmch_ctrl */
|
|
switch (gmch_ctrl & G33_PGETBL_SIZE_MASK) {
|
|
case G33_PGETBL_SIZE_1M:
|
|
@@ -526,7 +535,7 @@ static void intel_i830_init_gtt_entries(void)
|
|
size = 512;
|
|
}
|
|
size += 4;
|
|
- } else if (IS_G4X) {
|
|
+ } else if (IS_G4X || IS_IGD) {
|
|
/* On 4 series hardware, GTT stolen is separate from graphics
|
|
* stolen, ignore it in stolen gtt entries counting. However,
|
|
* 4KB of the stolen memory doesn't get mapped to the GTT.
|
|
@@ -2159,6 +2168,10 @@ static const struct intel_driver_description {
|
|
NULL, &intel_g33_driver },
|
|
{ PCI_DEVICE_ID_INTEL_Q33_HB, PCI_DEVICE_ID_INTEL_Q33_IG, 0, "Q33",
|
|
NULL, &intel_g33_driver },
|
|
+ { PCI_DEVICE_ID_INTEL_IGDGM_HB, PCI_DEVICE_ID_INTEL_IGDGM_IG, 0, "IGD",
|
|
+ NULL, &intel_g33_driver },
|
|
+ { PCI_DEVICE_ID_INTEL_IGDG_HB, PCI_DEVICE_ID_INTEL_IGDG_IG, 0, "IGD",
|
|
+ NULL, &intel_g33_driver },
|
|
{ PCI_DEVICE_ID_INTEL_GM45_HB, PCI_DEVICE_ID_INTEL_GM45_IG, 0,
|
|
"Mobile Intel® GM45 Express", NULL, &intel_i965_driver },
|
|
{ PCI_DEVICE_ID_INTEL_IGD_E_HB, PCI_DEVICE_ID_INTEL_IGD_E_IG, 0,
|
|
@@ -2353,6 +2366,8 @@ static struct pci_device_id agp_intel_pci_table[] = {
|
|
ID(PCI_DEVICE_ID_INTEL_82945G_HB),
|
|
ID(PCI_DEVICE_ID_INTEL_82945GM_HB),
|
|
ID(PCI_DEVICE_ID_INTEL_82945GME_HB),
|
|
+ ID(PCI_DEVICE_ID_INTEL_IGDGM_HB),
|
|
+ ID(PCI_DEVICE_ID_INTEL_IGDG_HB),
|
|
ID(PCI_DEVICE_ID_INTEL_82946GZ_HB),
|
|
ID(PCI_DEVICE_ID_INTEL_82G35_HB),
|
|
ID(PCI_DEVICE_ID_INTEL_82965Q_HB),
|
|
--
|
|
1.6.1.3
|
|
|