Patchwork [Karmic,SRU] UBUNTU: SAUCE: drm/i915, agp/intel: Add second set of PCI-IDs for B43

login
register
mail settings
Submitter Ike Panhc
Date Sept. 28, 2010, 11:27 a.m.
Message ID <1285673273-6376-1-git-send-email-ike.pan@canonical.com>
Download mbox | patch
Permalink /patch/65958/
State Rejected
Delegated to: Brad Figg
Headers show

Comments

Ike Panhc - Sept. 28, 2010, 11:27 a.m.
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.

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=commit;h=41a51428916ab04587bacee2dda61c4a0c4fc02f

Signed-off-by: Ike Panhc <ike.pan@canonical.com>
---
 drivers/char/agp/intel-agp.c    |    8 ++++++++
 drivers/gpu/drm/i915/i915_drv.h |    2 ++
 include/drm/drm_pciids.h        |    1 +
 3 files changed, 11 insertions(+), 0 deletions(-)
Ike Panhc - Oct. 1, 2010, 10:20 a.m.
On 09/28/2010 07:27 PM, 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.
> 
> 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=commit;h=41a51428916ab04587bacee2dda61c4a0c4fc02f
> 

Hi all,

I know it will be a little bit confused that this patch looks different
from upstream ones.

Basically I just add id beside the original one, and let these two id sets
act the same.

Please refer to the following links that the original id added into mainline
kernel. The patch I post is like the following two and squash them into one.

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7839c5d5519b6d9e2ccf3cdbf1c39e3817ad0835
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=38d8a95621b20ed7868e232a35a26ee61bdcae6f
Stefan Bader - Oct. 1, 2010, 11:39 a.m.
On 10/01/2010 12:20 PM, Ike Panhc wrote:
> On 09/28/2010 07:27 PM, 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.
>>
>> 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=commit;h=41a51428916ab04587bacee2dda61c4a0c4fc02f
>>
> 
> Hi all,
> 
> I know it will be a little bit confused that this patch looks different
> from upstream ones.
> 
> Basically I just add id beside the original one, and let these two id sets
> act the same.
> 
> Please refer to the following links that the original id added into mainline
> kernel. The patch I post is like the following two and squash them into one.
> 
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7839c5d5519b6d9e2ccf3cdbf1c39e3817ad0835
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=38d8a95621b20ed7868e232a35a26ee61bdcae6f
> 
> 
If that is the case I would prefer to have the two individual patches taken for
the SRU for Karmic. This way it is much simpler to know where the patches came
from and in reverse to look for a certain patch contained in Karmic.

Could you post the two changes applied to Karmic individually (in case this
requires some tweaking)?

Thanks,
Stefan
Ike Panhc - Oct. 4, 2010, 8:48 a.m.
There is report[1] that says graphic of some Intel B43 chipset is not working.
It is because they are using another PCI id set. The following two patches is
for adding the second id set into Karmic kernel.

[1] http://launchpad.net/bugs/640214

These patches are available in the git repository at:
  git://kernel.ubuntu.com/ikepanhc/public.git lp640214karmic

Ike Panhc (2):
  UBUNTU: SAUCE: agp/intel: Add second set of PCI-IDs for B43
  UBUNTU: SAUCE: drm/i915: Add second set of PCI-IDs for B43

 drivers/char/agp/intel-agp.c    |    7 +++++++
 drivers/gpu/drm/i915/i915_drv.h |    2 ++
 include/drm/drm_pciids.h        |    1 +
 3 files changed, 10 insertions(+), 0 deletions(-)
Tim Gardner - Oct. 4, 2010, 12:05 p.m.
On 10/04/2010 02:48 AM, Ike Panhc wrote:
> There is report[1] that says graphic of some Intel B43 chipset is not working.
> It is because they are using another PCI id set. The following two patches is
> for adding the second id set into Karmic kernel.
>
> [1] http://launchpad.net/bugs/640214
>
> These patches are available in the git repository at:
>    git://kernel.ubuntu.com/ikepanhc/public.git lp640214karmic
>
> Ike Panhc (2):
>    UBUNTU: SAUCE: agp/intel: Add second set of PCI-IDs for B43
>    UBUNTU: SAUCE: drm/i915: Add second set of PCI-IDs for B43
>
>   drivers/char/agp/intel-agp.c    |    7 +++++++
>   drivers/gpu/drm/i915/i915_drv.h |    2 ++
>   include/drm/drm_pciids.h        |    1 +
>   3 files changed, 10 insertions(+), 0 deletions(-)
>
>

Acked-by: Tim Gardner <tim.gardner@canonical.com>
Brad Figg - Oct. 4, 2010, 3:09 p.m.
On 10/04/2010 01:48 AM, Ike Panhc wrote:
> There is report[1] that says graphic of some Intel B43 chipset is not working.
> It is because they are using another PCI id set. The following two patches is
> for adding the second id set into Karmic kernel.
>
> [1] http://launchpad.net/bugs/640214
>
> These patches are available in the git repository at:
>    git://kernel.ubuntu.com/ikepanhc/public.git lp640214karmic
>
> Ike Panhc (2):
>    UBUNTU: SAUCE: agp/intel: Add second set of PCI-IDs for B43
>    UBUNTU: SAUCE: drm/i915: Add second set of PCI-IDs for B43
>
>   drivers/char/agp/intel-agp.c    |    7 +++++++
>   drivers/gpu/drm/i915/i915_drv.h |    2 ++
>   include/drm/drm_pciids.h        |    1 +
>   3 files changed, 10 insertions(+), 0 deletions(-)
>
>

Acked-by: Brad Figg <brad.figg@canonical.com>

Well contained, specific h/w enablement. Note for future reference, we like to
have the "SRU Justification" as part of your patch submission "cover-letter".

Brad
Ike Panhc - Oct. 13, 2010, 8:21 a.m.
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 now the adding-ID patch is accepted in
mainline kernel[2].

I tried to port on .32 stable kernel but lucid has .33 drm and lots modification
between these two version. So, I make the backport patches against current lucid
checkout.

These patches are available in the git repository at:
  git://kernel.ubuntu.com/ikepanhc/public.git lp640214lucid

[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

Ike Panhc (2):
  UBUNTU: SAUCE: agp/intel: Add second set of PCI-IDs for B43
  UBUNTU: SAUCE: drm/i915: Add second set of PCI-IDs for B43

 drivers/char/agp/intel-agp.c    |    7 +++++++
 drivers/gpu/drm/i915/i915_drv.c |    1 +
 drivers/gpu/drm/i915/i915_drv.h |    3 ++-
 3 files changed, 10 insertions(+), 1 deletions(-)
Stefan Bader - Oct. 13, 2010, 2:08 p.m.
On 10/13/2010 10:21 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 now the adding-ID patch is accepted in
> mainline kernel[2].
> 
> I tried to port on .32 stable kernel but lucid has .33 drm and lots modification
> between these two version. So, I make the backport patches against current lucid
> checkout.
> 
> These patches are available in the git repository at:
>   git://kernel.ubuntu.com/ikepanhc/public.git lp640214lucid
> 
> [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
> 
> Ike Panhc (2):
>   UBUNTU: SAUCE: agp/intel: Add second set of PCI-IDs for B43
>   UBUNTU: SAUCE: drm/i915: Add second set of PCI-IDs for B43
> 
>  drivers/char/agp/intel-agp.c    |    7 +++++++
>  drivers/gpu/drm/i915/i915_drv.c |    1 +
>  drivers/gpu/drm/i915/i915_drv.h |    3 ++-
>  3 files changed, 10 insertions(+), 1 deletions(-)
> 
> 
Basically the same stuff as we had before. I guess the only awkward thing here
is that we probably should roll both of these through our kernel.org drm33 tree,
even though the agp stuff is outside the drm parts. But I guess they should be
kept together.

-Stefan
Tim Gardner - Oct. 13, 2010, 2:30 p.m.
On 10/13/2010 02:21 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 now the adding-ID patch is accepted in
> mainline kernel[2].
>
> I tried to port on .32 stable kernel but lucid has .33 drm and lots modification
> between these two version. So, I make the backport patches against current lucid
> checkout.
>
> These patches are available in the git repository at:
>    git://kernel.ubuntu.com/ikepanhc/public.git lp640214lucid
>
> [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
>
> Ike Panhc (2):
>    UBUNTU: SAUCE: agp/intel: Add second set of PCI-IDs for B43
>    UBUNTU: SAUCE: drm/i915: Add second set of PCI-IDs for B43
>
>   drivers/char/agp/intel-agp.c    |    7 +++++++
>   drivers/gpu/drm/i915/i915_drv.c |    1 +
>   drivers/gpu/drm/i915/i915_drv.h |    3 ++-
>   3 files changed, 10 insertions(+), 1 deletions(-)
>
>

Acked-by: Tim Gardner <tim.gardner@canonical.com>
Brad Figg - Oct. 13, 2010, 2:39 p.m.
On 10/13/2010 01:21 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 now the adding-ID patch is accepted in
> mainline kernel[2].
>
> I tried to port on .32 stable kernel but lucid has .33 drm and lots modification
> between these two version. So, I make the backport patches against current lucid
> checkout.
>
> These patches are available in the git repository at:
>    git://kernel.ubuntu.com/ikepanhc/public.git lp640214lucid
>
> [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
>
> Ike Panhc (2):
>    UBUNTU: SAUCE: agp/intel: Add second set of PCI-IDs for B43
>    UBUNTU: SAUCE: drm/i915: Add second set of PCI-IDs for B43
>
>   drivers/char/agp/intel-agp.c    |    7 +++++++
>   drivers/gpu/drm/i915/i915_drv.c |    1 +
>   drivers/gpu/drm/i915/i915_drv.h |    3 ++-
>   3 files changed, 10 insertions(+), 1 deletions(-)
>
>

Looks clean.

Acked-by: Brad Figg <brad.figg@canonical.com>

Patch

diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
index f150be9..2c09d4c 100644
--- a/drivers/char/agp/intel-agp.c
+++ b/drivers/char/agp/intel-agp.c
@@ -38,6 +38,8 @@ 
 #define PCI_DEVICE_ID_INTEL_Q33_IG          0x29D2
 #define PCI_DEVICE_ID_INTEL_B43_HB          0x2E40
 #define PCI_DEVICE_ID_INTEL_B43_IG          0x2E42
+#define PCI_DEVICE_ID_INTEL_B43_1_HB        0x2E90
+#define PCI_DEVICE_ID_INTEL_B43_1_IG        0x2E92
 #define PCI_DEVICE_ID_INTEL_GM45_HB         0x2A40
 #define PCI_DEVICE_ID_INTEL_GM45_IG         0x2A42
 #define PCI_DEVICE_ID_INTEL_IGD_E_HB        0x2E00
@@ -85,6 +87,7 @@ 
 		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_GM45_HB || \
 		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_G41_HB || \
 		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_B43_HB || \
+		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_B43_1_HB || \
 		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDNG_D_HB || \
 		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDNG_M_HB || \
 		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGDNG_MA_HB || \
@@ -1238,6 +1242,7 @@  static void intel_i965_get_gtt_range(int *gtt_offset, int *gtt_size)
 	case PCI_DEVICE_ID_INTEL_G45_HB:
 	case PCI_DEVICE_ID_INTEL_G41_HB:
 	case PCI_DEVICE_ID_INTEL_B43_HB:
+	case PCI_DEVICE_ID_INTEL_B43_1_HB:
 	case PCI_DEVICE_ID_INTEL_IGDNG_D_HB:
 	case PCI_DEVICE_ID_INTEL_IGDNG_M_HB:
 	case PCI_DEVICE_ID_INTEL_IGDNG_MA_HB:
@@ -2217,6 +2222,8 @@  static const struct intel_driver_description {
 	    "G45/G43", NULL, &intel_i965_driver },
 	{ PCI_DEVICE_ID_INTEL_B43_HB, PCI_DEVICE_ID_INTEL_B43_IG, 0,
 	    "B43", NULL, &intel_i965_driver },
+	{ PCI_DEVICE_ID_INTEL_B43_1_HB, PCI_DEVICE_ID_INTEL_B43_1_IG, 0,
+	    "B43", NULL, &intel_i965_driver },
 	{ PCI_DEVICE_ID_INTEL_G41_HB, PCI_DEVICE_ID_INTEL_G41_IG, 0,
 	    "G41", NULL, &intel_i965_driver },
 	{ PCI_DEVICE_ID_INTEL_IGDNG_D_HB, PCI_DEVICE_ID_INTEL_IGDNG_D_IG, 0,
@@ -2420,6 +2427,7 @@  static struct pci_device_id agp_intel_pci_table[] = {
 	ID(PCI_DEVICE_ID_INTEL_G45_HB),
 	ID(PCI_DEVICE_ID_INTEL_G41_HB),
 	ID(PCI_DEVICE_ID_INTEL_B43_HB),
+	ID(PCI_DEVICE_ID_INTEL_B43_1_HB),
 	ID(PCI_DEVICE_ID_INTEL_IGDNG_D_HB),
 	ID(PCI_DEVICE_ID_INTEL_IGDNG_M_HB),
 	ID(PCI_DEVICE_ID_INTEL_IGDNG_MA_HB),
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}, \