Patchwork [2/2] UBUNTU: SAUCE: drm/i915: Add second set of PCI-IDs for B43

login
register
mail settings
Submitter Ike Panhc
Date Oct. 13, 2010, 8:21 a.m.
Message ID <1286958103-7310-1-git-send-email-ike.pan@canonical.com>
Download mbox | patch
Permalink /patch/67659/
State Accepted
Delegated to: Stefan Bader
Headers show

Comments

Ike Panhc - Oct. 13, 2010, 8:21 a.m.
SRU Justification:

Impact: Install Ubuntu Lucid on Intel B43 chipset whose PCI id is
        8086:2E90/2E92. X can not start.

Fix: Add new id 0x2E92 beside 0x2E42 for i915.ko
     Commit c96c3a[1] in mainline kernel simplies all info for each device into
     a single structure, but is landed after 2.6.36 kernel. So we still need to
     modify IS_GEN4 macro in i915_drv.h. That's why this patch does not look
     like mainline kernel one[2].

Testcase: Apply this patch on current checkout of Lucid kernel and runs with
          xserver-xorg-video-intel with the same modification, X start ok.

BugLink: http://launchpad.net/bugs/640214

[1] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=c96c3a8cb7fadcb33d9a5ebe35fcee8b7d0a7946
[2] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=41a51428916ab04587bacee2dda61c4a0c4fc02f

Signed-off-by: Ike Panhc <ike.pan@canonical.com>
---
 drivers/gpu/drm/i915/i915_drv.c |    1 +
 drivers/gpu/drm/i915/i915_drv.h |    3 ++-
 2 files changed, 3 insertions(+), 1 deletions(-)

Patch

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 4239d68..e304a49 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -165,6 +165,7 @@  const static struct pci_device_id pciidlist[] = {
 	INTEL_VGA_DEVICE(0x2e22, &intel_g45_info),
 	INTEL_VGA_DEVICE(0x2e32, &intel_g45_info),
 	INTEL_VGA_DEVICE(0x2e42, &intel_g45_info),
+	INTEL_VGA_DEVICE(0x2e92, &intel_g45_info),
 	INTEL_VGA_DEVICE(0xa001, &intel_pineview_info),
 	INTEL_VGA_DEVICE(0xa011, &intel_pineview_info),
 	INTEL_VGA_DEVICE(0x0042, &intel_ironlake_d_info),
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index b26d0ed..ecc4fbe 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1067,7 +1067,8 @@  extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);
 			 (dev)->pci_device == 0x2E22 ||		\
 			 (dev)->pci_device == 0x2E32 ||		\
 			 (dev)->pci_device == 0x2A42 ||		\
-			 (dev)->pci_device == 0x2E42)
+			 (dev)->pci_device == 0x2E42 ||		\
+			 (dev)->pci_device == 0x2E92)
 
 #define I915_NEED_GFX_HWS(dev)	(INTEL_INFO(dev)->need_gfx_hws)