1 From: Matthias Hopf <mhopf@suse.de>
2 Subject: Support new Intel graphic chips for HP laptops
6 Signed-off-by: Takashi Iwai <tiwai@suse.de>
8 --- a/drivers/char/agp/intel-agp.c.orig 2009-08-16 12:08:52.000000000 +0200
9 +++ b/drivers/char/agp/intel-agp.c 2009-10-08 12:27:15.000000000 +0200
11 #define PCI_DEVICE_ID_INTEL_82965GME_IG 0x2A12
12 #define PCI_DEVICE_ID_INTEL_82945GME_HB 0x27AC
13 #define PCI_DEVICE_ID_INTEL_82945GME_IG 0x27AE
14 +#define PCI_DEVICE_ID_INTEL_IGDGM_HB 0xA010
15 +#define PCI_DEVICE_ID_INTEL_IGDGM_IG 0xA011
16 +#define PCI_DEVICE_ID_INTEL_IGDG_HB 0xA000
17 +#define PCI_DEVICE_ID_INTEL_IGDG_IG 0xA001
18 #define PCI_DEVICE_ID_INTEL_G33_HB 0x29C0
19 #define PCI_DEVICE_ID_INTEL_G33_IG 0x29C2
20 #define PCI_DEVICE_ID_INTEL_Q35_HB 0x29B0
23 #define IS_G33 (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_G33_HB || \
24 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_Q35_HB || \
25 - agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_Q33_HB)
26 + agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_Q33_HB || \
27 + agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDGM_HB || \
28 + agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDG_HB)
30 +#define IS_IGD (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDGM_HB || \
31 + agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDG_HB)
33 #define IS_G4X (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGD_E_HB || \
34 agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_Q45_HB || \
38 size += 4; /* add in BIOS popup space */
39 - } else if (IS_G33) {
40 + } else if (IS_G33 && !IS_IGD) {
41 /* G33's GTT size defined in gmch_ctrl */
42 switch (gmch_ctrl & G33_PGETBL_SIZE_MASK) {
43 case G33_PGETBL_SIZE_1M:
48 - } else if (IS_G4X) {
49 + } else if (IS_G4X || IS_IGD) {
50 /* On 4 series hardware, GTT stolen is separate from graphics
51 * stolen, ignore it in stolen gtt entries counting. However,
52 * 4KB of the stolen memory doesn't get mapped to the GTT.
53 @@ -2150,6 +2159,10 @@
54 NULL, &intel_g33_driver },
55 { PCI_DEVICE_ID_INTEL_Q33_HB, PCI_DEVICE_ID_INTEL_Q33_IG, 0, "Q33",
56 NULL, &intel_g33_driver },
57 + { PCI_DEVICE_ID_INTEL_IGDGM_HB, PCI_DEVICE_ID_INTEL_IGDGM_IG, 0, "IGD",
58 + NULL, &intel_g33_driver },
59 + { PCI_DEVICE_ID_INTEL_IGDG_HB, PCI_DEVICE_ID_INTEL_IGDG_IG, 0, "IGD",
60 + NULL, &intel_g33_driver },
61 { PCI_DEVICE_ID_INTEL_GM45_HB, PCI_DEVICE_ID_INTEL_GM45_IG, 0,
62 "Mobile IntelĀ® GM45 Express", NULL, &intel_i965_driver },
63 { PCI_DEVICE_ID_INTEL_IGD_E_HB, PCI_DEVICE_ID_INTEL_IGD_E_IG, 0,
65 ID(PCI_DEVICE_ID_INTEL_82945G_HB),
66 ID(PCI_DEVICE_ID_INTEL_82945GM_HB),
67 ID(PCI_DEVICE_ID_INTEL_82945GME_HB),
68 + ID(PCI_DEVICE_ID_INTEL_IGDGM_HB),
69 + ID(PCI_DEVICE_ID_INTEL_IGDG_HB),
70 ID(PCI_DEVICE_ID_INTEL_82946GZ_HB),
71 ID(PCI_DEVICE_ID_INTEL_82G35_HB),
72 ID(PCI_DEVICE_ID_INTEL_82965Q_HB),
73 --- a/drivers/gpu/drm/i915/i915_drv.h.orig 2009-08-16 12:08:43.000000000 +0200
74 +++ b/drivers/gpu/drm/i915/i915_drv.h 2009-10-08 12:35:45.000000000 +0200
75 @@ -1127,15 +1127,23 @@
76 (dev)->pci_device == 0x2E22 || \
77 (dev)->pci_device == 0x2E32)
79 +#define IS_IGDG(dev) ((dev)->pci_device == 0xa001)
80 +#define IS_IGDGM(dev) ((dev)->pci_device == 0xa011)
81 +#define IS_IGD(dev) (IS_IGDG(dev) || IS_IGDGM(dev))
83 #define IS_G33(dev) ((dev)->pci_device == 0x29C2 || \
84 (dev)->pci_device == 0x29B2 || \
85 - (dev)->pci_device == 0x29D2)
86 + (dev)->pci_device == 0x29D2 || \
90 #define IS_I9XX(dev) (IS_I915G(dev) || IS_I915GM(dev) || IS_I945G(dev) || \
91 IS_I945GM(dev) || IS_I965G(dev) || IS_G33(dev))
93 #define IS_MOBILE(dev) (IS_I830(dev) || IS_I85X(dev) || IS_I915GM(dev) || \
94 - IS_I945GM(dev) || IS_I965GM(dev) || IS_IGD_GM(dev))
95 + IS_I945GM(dev) || IS_I965GM(dev) || IS_IGD_GM(dev) || \
99 #define I915_NEED_GFX_HWS(dev) (IS_G33(dev) || IS_IGD_GM(dev) || IS_G4X(dev))
101 --- a/include/drm/drm_pciids.h.orig 2009-08-16 12:08:43.000000000 +0200
102 +++ b/include/drm/drm_pciids.h 2009-10-08 12:37:35.000000000 +0200
104 {0x8086, 0x2e12, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
105 {0x8086, 0x2e22, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
106 {0x8086, 0x2e32, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
107 + {0x8086, 0xa001, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
108 + {0x8086, 0xa011, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \