diff options
author | ariff <ariff@FreeBSD.org> | 2006-12-11 18:45:11 +0000 |
---|---|---|
committer | ariff <ariff@FreeBSD.org> | 2006-12-11 18:45:11 +0000 |
commit | 3242485ea4295f5df79bee415f7ea4ab1e182711 (patch) | |
tree | 3fea15e75cc7dea36ce6a062f9380dd36591884e /sys/dev/sound | |
parent | 57868567eab9b2c0860f69491444a7efdca4b1f6 (diff) | |
download | FreeBSD-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/dev/sound')
-rw-r--r-- | sys/dev/sound/pci/hda/hdac.c | 10 |
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); |