From 3242485ea4295f5df79bee415f7ea4ab1e182711 Mon Sep 17 00:00:00 2001 From: ariff Date: Mon, 11 Dec 2006 18:45:11 +0000 Subject: [PATCH] Fix distorted sound on ASUS P1-AH2 caused by accumulated input / output. Reported/Tested by: Hiroharu Tamaru --- sys/dev/sound/pci/hda/hdac.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c index 4e2dd0707266..b6d0d29a0bfa 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);