Message ID | 1286182120-5913-1-git-send-email-ike.pan@canonical.com |
---|---|
State | Accepted |
Delegated to: | Brad Figg |
Headers | show |
Applied to the Karmic master linux repo. On 10/04/2010 01:48 AM, Ike Panhc wrote: > 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=41a51428916ab04587bacee2dda61c4a0c4fc02f > [3] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7839c5d5519b6d9e2ccf3cdbf1c39e3817ad0835 > > 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}, \
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}, \
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=41a51428916ab04587bacee2dda61c4a0c4fc02f [3] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7839c5d5519b6d9e2ccf3cdbf1c39e3817ad0835 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(-)