]> git.ipfire.org Git - ipfire-2.x.git/blame - src/patches/suse-2.6.27.39/patches.drivers/intel-hp-newchips-nokms
Fix oinkmaster patch.
[ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.drivers / intel-hp-newchips-nokms
CommitLineData
82094b55
AF
1From: Matthias Hopf <mhopf@suse.de>
2Subject: Support new Intel graphic chips for HP laptops
3Patch-mainline:
4References: bnc#544759
5
6Signed-off-by: Takashi Iwai <tiwai@suse.de>
7
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
10@@ -26,6 +26,10 @@
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
21@@ -60,7 +64,12 @@
22
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)
29+
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)
32
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 || \
35@@ -520,7 +529,7 @@
36 size = 512;
37 }
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:
44@@ -536,7 +545,7 @@
45 size = 512;
46 }
47 size += 4;
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,
64@@ -2344,6 +2357,8 @@
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)
78
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))
82+
83 #define IS_G33(dev) ((dev)->pci_device == 0x29C2 || \
84 (dev)->pci_device == 0x29B2 || \
85- (dev)->pci_device == 0x29D2)
86+ (dev)->pci_device == 0x29D2 || \
87+ (IS_IGD(dev)))
88+
89
90 #define IS_I9XX(dev) (IS_I915G(dev) || IS_I915GM(dev) || IS_I945G(dev) || \
91 IS_I945GM(dev) || IS_I965G(dev) || IS_G33(dev))
92
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) || \
96+ IS_IGD(dev))
97+
98
99 #define I915_NEED_GFX_HWS(dev) (IS_G33(dev) || IS_IGD_GM(dev) || IS_G4X(dev))
100
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
103@@ -413,4 +413,6 @@
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}, \
109 {0, 0, 0}