From: John Villalovos <jvillalo@redhat.com> Date: Mon, 20 Apr 2009 11:33:32 -0400 Subject: [agp] add pci ids for new video cards Message-id: 20090420153332.GA3167@linuxjohn.usersys.redhat.com O-Subject: [RHEL 5.4 BZ 474513] Add final branding strings for latest EagleLake graphics (McCreary) (like G41) to graphics driver Bugzilla: 474513 RH-Acked-by: Brian Maly <bmaly@redhat.com> RH-Acked-by: Pete Zaitcev <zaitcev@redhat.com> RH-Acked-by: John Feeney <jfeeney@redhat.com> Patch for: https://bugzilla.redhat.com/show_bug.cgi?id=474513 This patch adds support for the Intel G41 (EagleLake) graphics chipset to the kernel. This has been brew built and all builds passed: https://brewweb.devel.redhat.com//taskinfo?taskID=1765395 We have tested the kernel produced from Brew on the G41 platform. With it, X can start normally and can do 2D operations correctly. diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c index 8158400..9e4e7f3 100644 --- a/drivers/char/agp/intel-agp.c +++ b/drivers/char/agp/intel-agp.c @@ -38,6 +38,8 @@ #define PCI_DEVICE_ID_INTEL_Q45_IG 0x2E12 #define PCI_DEVICE_ID_INTEL_G45_HB 0x2E20 #define PCI_DEVICE_ID_INTEL_G45_IG 0x2E22 +#define PCI_DEVICE_ID_INTEL_G41_HB 0x2E30 +#define PCI_DEVICE_ID_INTEL_G41_IG 0x2E32 /* cover 915 and 945 variants */ #define IS_I915 (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_E7221_HB || \ @@ -61,7 +63,8 @@ #define IS_G4X (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_IGD_E_HB || \ agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_Q45_HB || \ 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_GM45_HB || \ + agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_G41_HB) /* Intel 815 register */ #define INTEL_815_APCONT 0x51 @@ -995,6 +998,7 @@ static void intel_i965_get_gtt_range(int *gtt_offset, int *gtt_size) case PCI_DEVICE_ID_INTEL_IGD_E_HB: case PCI_DEVICE_ID_INTEL_Q45_HB: case PCI_DEVICE_ID_INTEL_G45_HB: + case PCI_DEVICE_ID_INTEL_G41_HB: *gtt_offset = *gtt_size = MB(2); break; default: @@ -2102,6 +2106,13 @@ static int __devinit agp_intel_probe(struct pci_dev *pdev, } else bridge->driver = NULL; break; + case PCI_DEVICE_ID_INTEL_G41_HB: + if (find_i830(PCI_DEVICE_ID_INTEL_G41_IG)) { + bridge->driver = &intel_i965_driver; + name = "G41"; + } else + bridge->driver = NULL; + break; default: if (cap_ptr) printk(KERN_WARNING PFX "Unsupported Intel chipset (device id: %04x)\n", @@ -2271,6 +2282,7 @@ static struct pci_device_id agp_intel_pci_table[] = { ID(PCI_DEVICE_ID_INTEL_IGD_E_HB), ID(PCI_DEVICE_ID_INTEL_Q45_HB), ID(PCI_DEVICE_ID_INTEL_G45_HB), + ID(PCI_DEVICE_ID_INTEL_G41_HB), { } };