summaryrefslogtreecommitdiffstats
path: root/sys/dev/agp
diff options
context:
space:
mode:
authorru <ru@FreeBSD.org>2000-10-16 08:53:00 +0000
committerru <ru@FreeBSD.org>2000-10-16 08:53:00 +0000
commit4585a8bcedebb58812522ee2a8c36552e4acb11f (patch)
treec29a68348df1d0c108fc3ff32bee1ab2ee27f80e /sys/dev/agp
parentb439fc03db0e8d48a1c2662d8d88a2b2dc5c47b8 (diff)
downloadFreeBSD-src-4585a8bcedebb58812522ee2a8c36552e4acb11f.zip
FreeBSD-src-4585a8bcedebb58812522ee2a8c36552e4acb11f.tar.gz
Added support for i815.
Diffstat (limited to 'sys/dev/agp')
-rw-r--r--sys/dev/agp/agp_i810.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/sys/dev/agp/agp_i810.c b/sys/dev/agp/agp_i810.c
index 3b209bd..79fd566 100644
--- a/sys/dev/agp/agp_i810.c
+++ b/sys/dev/agp/agp_i810.c
@@ -84,6 +84,9 @@ agp_i810_match(device_t dev)
case 0x71258086:
return ("Intel 82810E (i810E GMCH) SVGA controller");
+
+ case 0x11328086:
+ return ("Intel 82815 (i815 GMCH) SVGA controller");
};
return NULL;
@@ -100,9 +103,20 @@ agp_i810_find_bridge(device_t dev)
u_int32_t devid;
/*
- * XXX assume that the bridge device's ID is one minus the vga ID.
+ * Calculate bridge device's ID.
*/
- devid = pci_get_devid(dev) - 0x10000;
+ devid = pci_get_devid(dev);
+ switch (devid) {
+ case 0x71218086:
+ case 0x71238086:
+ case 0x71258086:
+ devid -= 0x10000;
+ break;
+
+ case 0x11328086:
+ devid = 0x11308086;
+ break;
+ };
if (device_get_children(device_get_parent(dev), &children, &nchildren))
return 0;
OpenPOWER on IntegriCloud