summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoravg <avg@FreeBSD.org>2012-04-08 19:58:38 +0000
committeravg <avg@FreeBSD.org>2012-04-08 19:58:38 +0000
commitd41eccd983383caffb50bd5308ca9adf56975a89 (patch)
tree720be8419b52ebc3ea9095ef0ab83d0f1537e4c8
parente30063988b160bdc4b0a4f43224d48d56008c547 (diff)
downloadFreeBSD-src-d41eccd983383caffb50bd5308ca9adf56975a89.zip
FreeBSD-src-d41eccd983383caffb50bd5308ca9adf56975a89.tar.gz
intpm: reflect the fact that SB800 and later AMD chipsets are not supported
They do not have compatible configuration registers in PCI configuration space. Instead their configuration resides in AMD "PM I/O" space (accessed via a pair of I/O space registers). MFC after: 5 days
-rw-r--r--sys/pci/intpm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/pci/intpm.c b/sys/pci/intpm.c
index 565b5a2..375a56f 100644
--- a/sys/pci/intpm.c
+++ b/sys/pci/intpm.c
@@ -99,6 +99,9 @@ intsmb_probe(device_t dev)
device_set_desc(dev, "Intel PIIX4 SMBUS Interface");
break;
case 0x43851002:
+ /* SB800 and newer can not be configured in a compatible way. */
+ if (pci_get_revid(dev) >= 0x40)
+ return (ENXIO);
device_set_desc(dev, "AMD SB600/700/710/750 SMBus Controller");
/* XXX Maybe force polling right here? */
break;
OpenPOWER on IntegriCloud