diff options
author | ps <ps@FreeBSD.org> | 2004-09-28 01:32:58 +0000 |
---|---|---|
committer | ps <ps@FreeBSD.org> | 2004-09-28 01:32:58 +0000 |
commit | 5c74b9f0fbdd319140c14fb08c508a806f035083 (patch) | |
tree | 4dfb41165c05d88359de3488775c04bf4e86ca46 /sys | |
parent | ef6747fa18beec3657e78ff61531a6079373db17 (diff) | |
download | FreeBSD-src-5c74b9f0fbdd319140c14fb08c508a806f035083.zip FreeBSD-src-5c74b9f0fbdd319140c14fb08c508a806f035083.tar.gz |
Add ICH6 support.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/sound/pci/ich.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/dev/sound/pci/ich.c b/sys/dev/sound/pci/ich.c index e8edb98..f52bf87 100644 --- a/sys/dev/sound/pci/ich.c +++ b/sys/dev/sound/pci/ich.c @@ -44,6 +44,7 @@ SND_DECLARE_FILE("$FreeBSD$"); #define SIS7012ID 0x70121039 /* SiS 7012 needs special handling */ #define ICH4ID 0x24c58086 /* ICH4 needs special handling too */ #define ICH5ID 0x24d58086 /* ICH5 needs to be treated as ICH4 */ +#define ICH6ID 0x266e8086 /* ICH6 needs to be treated as ICH4 */ /* buffer descriptor */ struct ich_desc { @@ -580,7 +581,8 @@ ich_init(struct sc_info *sc) if ((stat & ICH_GLOB_STA_PCR) == 0) { /* ICH4/ICH5 may fail when busmastering is enabled. Continue */ if ((pci_get_devid(sc->dev) != ICH4ID) && - (pci_get_devid(sc->dev) != ICH5ID)) { + (pci_get_devid(sc->dev) != ICH5ID) && + (pci_get_devid(sc->dev) != ICH6ID)) { return ENXIO; } } @@ -636,6 +638,10 @@ ich_pci_probe(device_t dev) device_set_desc(dev, "Intel ICH5 (82801EB)"); return -1000; /* allow a better driver to override us */ + case ICH6ID: + device_set_desc(dev, "Intel ICH6 (82801FB)"); + return -1000; /* allow a better driver to override us */ + case SIS7012ID: device_set_desc(dev, "SiS 7012"); return 0; @@ -717,7 +723,7 @@ ich_pci_attach(device_t dev) */ pci_enable_busmaster(dev); - if (pci_get_devid(dev) == ICH5ID) { + if (pci_get_devid(dev) == ICH5ID || pci_get_devid(dev) == ICH6ID) { sc->nambarid = PCIR_MMBAR; sc->nabmbarid = PCIR_MBBAR; sc->regtype = SYS_RES_MEMORY; |