diff options
author | peadar <peadar@FreeBSD.org> | 2004-03-13 16:06:32 +0000 |
---|---|---|
committer | peadar <peadar@FreeBSD.org> | 2004-03-13 16:06:32 +0000 |
commit | f6b97d7e9a5dacce816348b55caf3cd22f59e040 (patch) | |
tree | 340593a2842af3b782200b30913c1d58746b98a5 /sys | |
parent | 94744a8a7d7173f15f69a8b240af991f357b1daf (diff) | |
download | FreeBSD-src-f6b97d7e9a5dacce816348b55caf3cd22f59e040.zip FreeBSD-src-f6b97d7e9a5dacce816348b55caf3cd22f59e040.tar.gz |
Recognise the 82845G AGP bridge, and poke it appropriately at
attach/detach time.
Assigning the default behaviour to this particular device is
incorrect, corrupting the video BIOS aperture, and breaking
VESA support in the kernel and XFree86.
Reviewed By: dfr
MFC after: 1 week
PR: kern/62906
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/agp/agp_intel.c | 5 | ||||
-rw-r--r-- | sys/pci/agp_intel.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/sys/dev/agp/agp_intel.c b/sys/dev/agp/agp_intel.c index 047ed57..6848661 100644 --- a/sys/dev/agp/agp_intel.c +++ b/sys/dev/agp/agp_intel.c @@ -111,6 +111,9 @@ agp_intel_match(device_t dev) case 0x25788086: return ("Intel 82875P host to AGP bridge"); + + case 0x25608086: /* i845G */ + return ("Intel 82845G host to AGP bridge"); }; if (pci_get_vendor(dev) == 0x8086) @@ -236,6 +239,7 @@ agp_intel_attach(device_t dev) case 0x25318086: /* i860 */ case 0x25708086: /* i865 */ case 0x25788086: /* i875P */ + case 0x25608086: /* i845G */ pci_write_config(dev, AGP_INTEL_I8XX_ERRSTS, 0x00ff, 2); break; @@ -278,6 +282,7 @@ agp_intel_detach(device_t dev) & ~(1 << 1)), 1); case 0x1a308086: /* i845 */ + case 0x25608086: /* i845G */ case 0x33408086: /* i855 */ case 0x25708086: /* i865 */ case 0x25788086: /* i875P */ diff --git a/sys/pci/agp_intel.c b/sys/pci/agp_intel.c index 047ed57..6848661 100644 --- a/sys/pci/agp_intel.c +++ b/sys/pci/agp_intel.c @@ -111,6 +111,9 @@ agp_intel_match(device_t dev) case 0x25788086: return ("Intel 82875P host to AGP bridge"); + + case 0x25608086: /* i845G */ + return ("Intel 82845G host to AGP bridge"); }; if (pci_get_vendor(dev) == 0x8086) @@ -236,6 +239,7 @@ agp_intel_attach(device_t dev) case 0x25318086: /* i860 */ case 0x25708086: /* i865 */ case 0x25788086: /* i875P */ + case 0x25608086: /* i845G */ pci_write_config(dev, AGP_INTEL_I8XX_ERRSTS, 0x00ff, 2); break; @@ -278,6 +282,7 @@ agp_intel_detach(device_t dev) & ~(1 << 1)), 1); case 0x1a308086: /* i845 */ + case 0x25608086: /* i845G */ case 0x33408086: /* i855 */ case 0x25708086: /* i865 */ case 0x25788086: /* i875P */ |