summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortanimura <tanimura@FreeBSD.org>2005-05-28 09:32:43 +0000
committertanimura <tanimura@FreeBSD.org>2005-05-28 09:32:43 +0000
commit9ba19319181f2e39822b89610ddd8c2a39f4eae1 (patch)
treeac7d42fcc5ab8fa92a7264bb1a973ecdd36c9a09
parent1142d02df85300c9dab83ed7c300f6eeed94dc9a (diff)
downloadFreeBSD-src-9ba19319181f2e39822b89610ddd8c2a39f4eae1.zip
FreeBSD-src-9ba19319181f2e39822b89610ddd8c2a39f4eae1.tar.gz
Add 6300ESB, which should be treated as ICH4.
PR: kern/81573 Submitted by: OOTOMO Hiroyuki <ootomo@za.wakwak.com> MFC after: 1 week
-rw-r--r--sys/dev/sound/pci/ich.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/dev/sound/pci/ich.c b/sys/dev/sound/pci/ich.c
index 82b33f2..b2878a1 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 I6300ESBID 0x25a68086 /* 6300ESB needs to be treated as ICH4 */
#define ICH6ID 0x266e8086 /* ICH6 needs to be treated as ICH4 */
/* buffer descriptor */
@@ -582,6 +583,7 @@ ich_init(struct sc_info *sc)
/* 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) != I6300ESBID) &&
(pci_get_devid(sc->dev) != ICH6ID)) {
return ENXIO;
}
@@ -638,6 +640,10 @@ ich_pci_probe(device_t dev)
device_set_desc(dev, "Intel ICH5 (82801EB)");
return BUS_PROBE_LOW_PRIORITY;
+ case I6300ESBID:
+ device_set_desc(dev, "Intel 6300ESB");
+ return -1000; /* allow a better driver to override us */
+
case ICH6ID:
device_set_desc(dev, "Intel ICH6 (82801FB)");
return BUS_PROBE_LOW_PRIORITY;
@@ -727,7 +733,9 @@ ich_pci_attach(device_t dev)
*/
pci_enable_busmaster(dev);
- if (pci_get_devid(dev) == ICH5ID || pci_get_devid(dev) == ICH6ID) {
+ if (pci_get_devid(dev) == ICH5ID ||
+ pci_get_devid(dev) == I6300ESBID ||
+ pci_get_devid(dev) == ICH6ID) {
sc->nambarid = PCIR_MMBAR;
sc->nabmbarid = PCIR_MBBAR;
sc->regtype = SYS_RES_MEMORY;
OpenPOWER on IntegriCloud