]>
Commit | Line | Data |
---|---|---|
82094b55 AF |
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} |