Module Name: src
Committed By: riz
Date: Wed Jun 16 03:35:01 UTC 2010
Modified Files:
src/sys/arch/x86/pci: pchb.c
src/sys/dev/pci: agp.c agp_i810.c
Log Message:
Add AGP support for a number of Intel onboard devices, including
82G41, 82B43, E7221, 82965GME, and "Iron Lake". Device
types (i915, i965, G33, and G4X variants) from the Linux Intel AGP
driver, and (for 82G41) from Henry Bent in PR#42906.
There are a few more varieties that should be relatively low-hanging
fruit ("Pineview" and "Sandy Bridge"), but will require a little bit
of rejiggering of the "chiptype".
OK mrg@
To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/x86/pci/pchb.c
cvs rdiff -u -r1.68 -r1.69 src/sys/dev/pci/agp.c
cvs rdiff -u -r1.67 -r1.68 src/sys/dev/pci/agp_i810.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/x86/pci/pchb.c
diff -u src/sys/arch/x86/pci/pchb.c:1.21 src/sys/arch/x86/pci/pchb.c:1.22
--- src/sys/arch/x86/pci/pchb.c:1.21 Wed Feb 24 22:37:55 2010
+++ src/sys/arch/x86/pci/pchb.c Wed Jun 16 03:35:01 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: pchb.c,v 1.21 2010/02/24 22:37:55 dyoung Exp $ */
+/* $NetBSD: pchb.c,v 1.22 2010/06/16 03:35:01 riz Exp $ */
/*-
* Copyright (c) 1996, 1998, 2000 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pchb.c,v 1.21 2010/02/24 22:37:55 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pchb.c,v 1.22 2010/06/16 03:35:01 riz Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -386,6 +386,14 @@
case PCI_PRODUCT_INTEL_82IGD_E_HB:
case PCI_PRODUCT_INTEL_82Q45_HB:
case PCI_PRODUCT_INTEL_82G45_HB:
+ case PCI_PRODUCT_INTEL_82G41_HB:
+ case PCI_PRODUCT_INTEL_E7221_HB:
+ case PCI_PRODUCT_INTEL_82965GME_HB:
+ case PCI_PRODUCT_INTEL_82B43_HB:
+ case PCI_PRODUCT_INTEL_IRONLAKE_D_HB:
+ case PCI_PRODUCT_INTEL_IRONLAKE_M_HB:
+ case PCI_PRODUCT_INTEL_IRONLAKE_MA_HB:
+ case PCI_PRODUCT_INTEL_IRONLAKE_MC2_HB:
/*
* The host bridge is either in GFX mode (internal
* graphics) or in AGP mode. In GFX mode, we pretend
Index: src/sys/dev/pci/agp.c
diff -u src/sys/dev/pci/agp.c:1.68 src/sys/dev/pci/agp.c:1.69
--- src/sys/dev/pci/agp.c:1.68 Wed Feb 24 22:37:59 2010
+++ src/sys/dev/pci/agp.c Wed Jun 16 03:35:01 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: agp.c,v 1.68 2010/02/24 22:37:59 dyoung Exp $ */
+/* $NetBSD: agp.c,v 1.69 2010/06/16 03:35:01 riz Exp $ */
/*-
* Copyright (c) 2000 Doug Rabson
@@ -65,7 +65,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: agp.c,v 1.68 2010/02/24 22:37:59 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: agp.c,v 1.69 2010/06/16 03:35:01 riz Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -192,6 +192,22 @@
NULL, agp_i810_attach },
{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82G45_HB,
NULL, agp_i810_attach },
+ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82G41_HB,
+ NULL, agp_i810_attach },
+ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_E7221_HB,
+ NULL, agp_i810_attach },
+ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82965GME_HB,
+ NULL, agp_i810_attach },
+ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82B43_HB,
+ NULL, agp_i810_attach },
+ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_IRONLAKE_D_HB,
+ NULL, agp_i810_attach },
+ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_IRONLAKE_M_HB,
+ NULL, agp_i810_attach },
+ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_IRONLAKE_MA_HB,
+ NULL, agp_i810_attach },
+ { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_IRONLAKE_MC2_HB,
+ NULL, agp_i810_attach },
#endif
#if NAGP_INTEL > 0
Index: src/sys/dev/pci/agp_i810.c
diff -u src/sys/dev/pci/agp_i810.c:1.67 src/sys/dev/pci/agp_i810.c:1.68
--- src/sys/dev/pci/agp_i810.c:1.67 Sun Apr 4 14:40:05 2010
+++ src/sys/dev/pci/agp_i810.c Wed Jun 16 03:35:01 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: agp_i810.c,v 1.67 2010/04/04 14:40:05 jakllsch Exp $ */
+/* $NetBSD: agp_i810.c,v 1.68 2010/06/16 03:35:01 riz Exp $ */
/*-
* Copyright (c) 2000 Doug Rabson
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: agp_i810.c,v 1.67 2010/04/04 14:40:05 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: agp_i810.c,v 1.68 2010/06/16 03:35:01 riz Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -171,6 +171,7 @@
case PCI_PRODUCT_INTEL_82945GM_IGD:
case PCI_PRODUCT_INTEL_82945GM_IGD_1:
case PCI_PRODUCT_INTEL_82945GME_IGD:
+ case PCI_PRODUCT_INTEL_E7221_IGD:
case PCI_PRODUCT_INTEL_82965Q_IGD:
case PCI_PRODUCT_INTEL_82965Q_IGD_1:
case PCI_PRODUCT_INTEL_82965PM_IGD:
@@ -179,6 +180,7 @@
case PCI_PRODUCT_INTEL_82G33_IGD_1:
case PCI_PRODUCT_INTEL_82965G_IGD:
case PCI_PRODUCT_INTEL_82965G_IGD_1:
+ case PCI_PRODUCT_INTEL_82965GME_IGD:
case PCI_PRODUCT_INTEL_82Q35_IGD:
case PCI_PRODUCT_INTEL_82Q35_IGD_1:
case PCI_PRODUCT_INTEL_82Q33_IGD:
@@ -191,6 +193,10 @@
case PCI_PRODUCT_INTEL_82IGD_E_IGD:
case PCI_PRODUCT_INTEL_82Q45_IGD:
case PCI_PRODUCT_INTEL_82G45_IGD:
+ case PCI_PRODUCT_INTEL_82G41_IGD:
+ case PCI_PRODUCT_INTEL_82B43_IGD:
+ case PCI_PRODUCT_INTEL_IRONLAKE_D_IGD:
+ case PCI_PRODUCT_INTEL_IRONLAKE_M_IGD:
return (1);
}
@@ -274,6 +280,7 @@
case PCI_PRODUCT_INTEL_82945GM_IGD:
case PCI_PRODUCT_INTEL_82945GM_IGD_1:
case PCI_PRODUCT_INTEL_82945GME_IGD:
+ case PCI_PRODUCT_INTEL_E7221_IGD:
isc->chiptype = CHIP_I915;
break;
case PCI_PRODUCT_INTEL_82965Q_IGD:
@@ -282,6 +289,7 @@
case PCI_PRODUCT_INTEL_82965PM_IGD_1:
case PCI_PRODUCT_INTEL_82965G_IGD:
case PCI_PRODUCT_INTEL_82965G_IGD_1:
+ case PCI_PRODUCT_INTEL_82965GME_IGD:
case PCI_PRODUCT_INTEL_82946GZ_IGD:
case PCI_PRODUCT_INTEL_82G35_IGD:
case PCI_PRODUCT_INTEL_82G35_IGD_1:
@@ -300,6 +308,10 @@
case PCI_PRODUCT_INTEL_82IGD_E_IGD:
case PCI_PRODUCT_INTEL_82Q45_IGD:
case PCI_PRODUCT_INTEL_82G45_IGD:
+ case PCI_PRODUCT_INTEL_82G41_IGD:
+ case PCI_PRODUCT_INTEL_82B43_IGD:
+ case PCI_PRODUCT_INTEL_IRONLAKE_D_IGD:
+ case PCI_PRODUCT_INTEL_IRONLAKE_M_IGD:
isc->chiptype = CHIP_G4X;
break;
}