]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/patches/suse-2.6.27.39/patches.drivers/intel-hp-newchips-nokms
Fix oinkmaster patch.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.drivers / intel-hp-newchips-nokms
1 From: Matthias Hopf <mhopf@suse.de>
2 Subject: Support new Intel graphic chips for HP laptops
3 Patch-mainline:
4 References: bnc#544759
5
6 Signed-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}