diff options
author | Ariff Abdullah <ariff@FreeBSD.org> | 2007-12-12 18:21:05 +0000 |
---|---|---|
committer | Ariff Abdullah <ariff@FreeBSD.org> | 2007-12-12 18:21:05 +0000 |
commit | 909f7f7f4ea4671b61c556de0a97b337ed6e03e6 (patch) | |
tree | 803469c1a03b5dc6c1e494285c89c3d8f0c86818 /sys/dev | |
parent | f0cfdeddd2d142b37de756c83328c2d8225c6628 (diff) | |
download | src-909f7f7f4ea4671b61c556de0a97b337ed6e03e6.tar.gz src-909f7f7f4ea4671b61c556de0a97b337ed6e03e6.zip |
Notes
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/sound/pci/ich.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/sound/pci/ich.c b/sys/dev/sound/pci/ich.c index 64e2eec38986..7351355ea963 100644 --- a/sys/dev/sound/pci/ich.c +++ b/sys/dev/sound/pci/ich.c @@ -980,6 +980,10 @@ ich_pci_attach(device_t dev) device_get_unit(dev), "fixedrate", &i) == 0 && i != 0) sc->flags |= ICH_FIXED_RATE; + if (resource_int_value(device_get_name(dev), + device_get_unit(dev), "micchannel_enabled", &i) == 0 && i != 0) + sc->hasmic = 1; + sc->irqid = 0; sc->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->irqid, RF_ACTIVE | RF_SHAREABLE); @@ -1026,7 +1030,8 @@ ich_pci_attach(device_t dev) extcaps = ac97_getextcaps(sc->codec); sc->hasvra = extcaps & AC97_EXTCAP_VRA; sc->hasvrm = extcaps & AC97_EXTCAP_VRM; - sc->hasmic = ac97_getcaps(sc->codec) & AC97_CAP_MICCHANNEL; + sc->hasmic = (sc->hasmic != 0 && + (ac97_getcaps(sc->codec) & AC97_CAP_MICCHANNEL)) ? 1 : 0; ac97_setextmode(sc->codec, sc->hasvra | sc->hasvrm); sc->dtbl_size = sizeof(struct ich_desc) * ICH_DTBL_LENGTH * |