Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > fc11cd6e1c513a17304da94a5390f3cd > files > 2750

kernel-2.6.18-194.11.1.el5.src.rpm

From: John Villalovos <jvillalo@redhat.com>
Date: Thu, 29 Oct 2009 17:28:18 -0400
Subject: [pci] add ids for intel b43 graphics controller
Message-id: <20091029172817.GA4017@linuxjohn.usersys.redhat.com>
Patchwork-id: 21251
O-Subject: [RHEL 5.5 BZ523637] Update PCI.IDS for Intel B43 Graphics controller
Bugzilla: 523637
RH-Acked-by: Prarit Bhargava <prarit@redhat.com>
RH-Acked-by: Stefan Assmann <sassmann@redhat.com>
RH-Acked-by: Ivan Vecera <ivecera@redhat.com>

Update PCI.IDS for Intel B43 Graphics controller:
https://bugzilla.redhat.com/show_bug.cgi?id=523637

This patch adds support for the B43 graphics controller and also adds some
missing support for the G41 graphics controller that was previously missed.

Backport of the following commits:
    Upstream commit 72021788678523047161e97b3dfed695e802a5fd
    Upstream Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
    Date:   Mon Nov 17 13:58:11 2008 +0800

	drm/i915: add support for G41 chipset

	This had been delayed for some time due to failure to work on the one piece
	of G41 hardware we had, and lack of success reports from anybody else.
	Current hardware appears to be OK.

    Upstream commit 7839c5d5519b6d9e2ccf3cdbf1c39e3817ad0835
    Upstream Author: Fabian Henze <hoacha@quantentunnel.de>
    Date:   Tue Sep 8 00:59:59 2009 +0800

	drm/i915: add B43 chipset support

    Upstream commit 38d8a95621b20ed7868e232a35a26ee61bdcae6f
    Upstream Author: Fabian Henze <hoacha@quantentunnel.de>
    Date:   Tue Sep 8 00:59:58 2009 +0800

	agp/intel: Add B43 chipset support

Brew Build:
https://brewweb.devel.redhat.com/taskinfo?taskID=2046937

RHTS test pass:
http://rhts.redhat.com/cgi-bin/rhts/jobs.cgi?id=95671

Tested at Intel sucessfully

Signed-off-by: Jarod Wilson <jarod@redhat.com>

diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
index e2db05d..1634257 100644
--- a/drivers/char/agp/intel-agp.c
+++ b/drivers/char/agp/intel-agp.c
@@ -40,6 +40,8 @@
 #define PCI_DEVICE_ID_INTEL_G45_IG          0x2E22
 #define PCI_DEVICE_ID_INTEL_G41_HB          0x2E30
 #define PCI_DEVICE_ID_INTEL_G41_IG          0x2E32
+#define PCI_DEVICE_ID_INTEL_B43_HB          0x2E40
+#define PCI_DEVICE_ID_INTEL_B43_IG          0x2E42
 #define PCI_DEVICE_ID_INTEL_IRONLAKE_D_HB	    0x0040
 #define PCI_DEVICE_ID_INTEL_IRONLAKE_D_IG	    0x0042
 #define PCI_DEVICE_ID_INTEL_IRONLAKE_M_HB	    0x0044
@@ -71,6 +73,7 @@
 		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_G45_HB || \
 		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_IRONLAKE_D_HB || \
 		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IRONLAKE_M_HB || \
 		agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IRONLAKE_MA_HB || \
@@ -1009,6 +1012,7 @@ static void intel_i965_get_gtt_range(int *gtt_offset, int *gtt_size)
 	case PCI_DEVICE_ID_INTEL_Q45_HB:
 	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_IRONLAKE_D_HB:
 	case PCI_DEVICE_ID_INTEL_IRONLAKE_M_HB:
 	case PCI_DEVICE_ID_INTEL_IRONLAKE_MA_HB:
@@ -2127,6 +2131,13 @@ static int __devinit agp_intel_probe(struct pci_dev *pdev,
 		} else
 			bridge->driver = NULL;
 		break;
+	case PCI_DEVICE_ID_INTEL_B43_HB:
+		if (find_i830(PCI_DEVICE_ID_INTEL_B43_IG)) {
+			bridge->driver = &intel_i965_driver;
+			name = "B43";
+		} else
+			bridge->driver = NULL;
+		break;
 	case PCI_DEVICE_ID_INTEL_IRONLAKE_D_HB:
 		if (find_i830(PCI_DEVICE_ID_INTEL_IRONLAKE_D_IG)) {
 			bridge->driver = &intel_i965_driver;
@@ -2325,6 +2336,7 @@ static struct pci_device_id agp_intel_pci_table[] = {
 	ID(PCI_DEVICE_ID_INTEL_Q45_HB),
 	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_IRONLAKE_D_HB),
 	ID(PCI_DEVICE_ID_INTEL_IRONLAKE_M_HB),
 	ID(PCI_DEVICE_ID_INTEL_IRONLAKE_MA_HB),
diff --git a/drivers/char/drm/drm_pciids.h b/drivers/char/drm/drm_pciids.h
index aad17c9..1a22cdc 100644
--- a/drivers/char/drm/drm_pciids.h
+++ b/drivers/char/drm/drm_pciids.h
@@ -392,6 +392,8 @@
 	{0x8086, 0x2e02, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_I9XX|CHIP_I965}, \
 	{0x8086, 0x2e12, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_I9XX|CHIP_I965}, \
 	{0x8086, 0x2e22, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_I9XX|CHIP_I965}, \
+	{0x8086, 0x2e32, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_I9XX|CHIP_I965}, \
+	{0x8086, 0x2e42, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_I9XX|CHIP_I965}, \
 	{0x8086, 0x29C2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_I9XX|CHIP_I915}, \
 	{0x8086, 0x29B2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_I9XX|CHIP_I915}, \
 	{0x8086, 0x29D2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_I9XX|CHIP_I915}, \
diff --git a/drivers/char/drm/i915_dma.c b/drivers/char/drm/i915_dma.c
index 94aa7d0..aeb1c75 100644
--- a/drivers/char/drm/i915_dma.c
+++ b/drivers/char/drm/i915_dma.c
@@ -41,6 +41,8 @@
 			dev->pdev->device == 0x2e02 || \
 			dev->pdev->device == 0x2e12 || \
 			dev->pdev->device == 0x2e22 || \
+			dev->pdev->device == 0x2e32 || \
+			dev->pdev->device == 0x2e42 || \
 			dev->pdev->device == 0x0042 || \
 			dev->pdev->device == 0x0046)
 
@@ -52,7 +54,9 @@
 
 #define IS_G4X(dev)	(dev->pdev->device == 0x2e02 || \
 			 dev->pdev->device == 0x2e12 || \
-			 dev->pdev->device == 0x2e22)
+			 dev->pdev->device == 0x2e22 || \
+			 dev->pdev->device == 0x2e32 || \
+			 dev->pdev->device == 0x2e42)
 
 #define IS_IRONLAKE_D(dev)	((dev)->pdev->device == 0x0042)
 #define IS_IRONLAKE_M(dev)	((dev)->pdev->device == 0x0046)