Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Ubuntu Kernel Team (http://www.linux-archive.org/ubuntu-kernel-team/)
-   -   UBUNTU: SAUCE: drm/i915: Add second set of PCI-IDs for B43 (http://www.linux-archive.org/ubuntu-kernel-team/435255-ubuntu-sauce-drm-i915-add-second-set-pci-ids-b43.html)

Ike Panhc 10-04-2010 08:48 AM

UBUNTU: SAUCE: drm/i915: Add second set of PCI-IDs for B43
 
We find there is another device id set for B43 chipset. After adding the device
id 4E90/4E92 beside 4E40/4E42, the machine works fine with the same
modification in xserver-xorg-video-intel.

After reporting to freedesktop bugzilla[1], Chris Wilson said the patch is
queued for adding this id set and the patch is accepted in mainline kernel[2].

Upstream codes has been modified for more easy maintaining. Cherry-pick from
upstream will cause line missing and conflicts. So I make the backport patches
for Karmic kernel in the same way when the first IDs added into kernel[3].

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

[1] https://bugs.freedesktop.org/show_bug.cgi?id=30221
[2] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=41a51428916ab04587bacee2dda 61c4a0c4fc02f
[3] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7839c5d5519b6d9e2ccf3cdbf1c 39e3817ad0835

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

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 9919f9f..a62afae 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -907,6 +907,7 @@ 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 == 0x2E42 ||
+ (dev)->pci_device == 0x2E92 ||
(dev)->pci_device == 0x0042 ||
(dev)->pci_device == 0x0046)

@@ -920,6 +921,7 @@ 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 == 0x2E42 ||
+ (dev)->pci_device == 0x2E92 ||
IS_GM45(dev))

#define IS_IGDG(dev) ((dev)->pci_device == 0xa001)
diff --git a/include/drm/drm_pciids.h b/include/drm/drm_pciids.h
index 3f6e545..eddcf57 100644
--- a/include/drm/drm_pciids.h
+++ b/include/drm/drm_pciids.h
@@ -553,6 +553,7 @@
{0x8086, 0x2e22, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0},
{0x8086, 0x2e32, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0},
{0x8086, 0x2e42, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0},
+ {0x8086, 0x2e92, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0},
{0x8086, 0xa001, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0},
{0x8086, 0xa011, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0},
{0x8086, 0x35e8, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, 0xffff00, 0},
--
1.7.1


--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team

Ike Panhc 10-13-2010 08:21 AM

UBUNTU: SAUCE: drm/i915: Add second set of PCI-IDs for B43
 
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=c96c3a8cb7fadcb33d9a5ebe35f cee8b7d0a7946
[2] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=41a51428916ab04587bacee2dda 61c4a0c4fc02f

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(-)

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)

--
1.7.1


--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team


All times are GMT. The time now is 02:50 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.