summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorariff <ariff@FreeBSD.org>2006-12-11 18:45:11 +0000
committerariff <ariff@FreeBSD.org>2006-12-11 18:45:11 +0000
commit3242485ea4295f5df79bee415f7ea4ab1e182711 (patch)
tree3fea15e75cc7dea36ce6a062f9380dd36591884e /sys
parent57868567eab9b2c0860f69491444a7efdca4b1f6 (diff)
downloadFreeBSD-src-3242485ea4295f5df79bee415f7ea4ab1e182711.zip
FreeBSD-src-3242485ea4295f5df79bee415f7ea4ab1e182711.tar.gz
Fix distorted sound on ASUS P1-AH2 caused by accumulated input / output.
Reported/Tested by: Hiroharu Tamaru <tamaru@myn.rcast.u-tokyo.ac.jp>
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/sound/pci/hda/hdac.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c
index 4e2dd07..b6d0d29 100644
--- a/sys/dev/sound/pci/hda/hdac.c
+++ b/sys/dev/sound/pci/hda/hdac.c
@@ -190,6 +190,7 @@ SND_DECLARE_FILE("$FreeBSD$");
#define ASUS_M5200_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1993)
#define ASUS_U5F_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1263)
#define ASUS_A8JC_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1153)
+#define ASUS_P1AH2_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81cb)
#define ASUS_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0xffff)
/* IBM / Lenovo */
@@ -3527,6 +3528,15 @@ hdac_vendor_patch_parse(struct hdac_devinfo *devinfo)
w->enable = 0;
}
break;
+ case HDA_CODEC_ALC861:
+ if (subvendor == ASUS_P1AH2_SUBVENDOR) {
+ struct hdac_audio_ctl *ctl;
+
+ ctl = hdac_audio_ctl_amp_get(devinfo, 28, 1, 1);
+ if (ctl != NULL)
+ ctl->muted = HDA_AMP_MUTE_ALL;
+ }
+ break;
case HDA_CODEC_ALC880:
for (i = devinfo->startnode; i < devinfo->endnode; i++) {
w = hdac_widget_get(devinfo, i);
OpenPOWER on IntegriCloud