From 5c74b9f0fbdd319140c14fb08c508a806f035083 Mon Sep 17 00:00:00 2001 From: ps Date: Tue, 28 Sep 2004 01:32:58 +0000 Subject: Add ICH6 support. --- sys/dev/sound/pci/ich.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'sys') 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; -- cgit v1.1