diff options
author | ariff <ariff@FreeBSD.org> | 2006-12-22 11:55:59 +0000 |
---|---|---|
committer | ariff <ariff@FreeBSD.org> | 2006-12-22 11:55:59 +0000 |
commit | 7bed911f0563515ede0d156349717ed48f820aaa (patch) | |
tree | 3d17eaa823fbe38c8b7ce465e0d3faa7839721b5 /sys/dev | |
parent | 9c271abc0d67ad0d95135447d3ba3a88e6df56e3 (diff) | |
download | FreeBSD-src-7bed911f0563515ede0d156349717ed48f820aaa.zip FreeBSD-src-7bed911f0563515ede0d156349717ed48f820aaa.tar.gz |
Fix distorted sound on Intel Desktop Board D101GGC (ATI SB450/ALC861).
Turn on ALC861 quirk as default since it seems affecting all hardwares
with the same codec.
Reported/Tested by: Darryl Yeoh <drl@MyBSD.org.my>
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/sound/pci/hda/hdac.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c index d37f00d..6e8ee57 100644 --- a/sys/dev/sound/pci/hda/hdac.c +++ b/sys/dev/sound/pci/hda/hdac.c @@ -163,6 +163,9 @@ SND_DECLARE_FILE("$FreeBSD$"); /* OEM/subvendors */ +/* Intel */ +#define INTEL_D101GGC_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0xd600) + /* HP/Compaq */ #define HP_VENDORID 0x103c #define HP_V3000_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30b5) @@ -3534,6 +3537,7 @@ static void hdac_vendor_patch_parse(struct hdac_devinfo *devinfo) { struct hdac_widget *w; + struct hdac_audio_ctl *ctl; uint32_t id, subvendor; int i; @@ -3569,14 +3573,9 @@ hdac_vendor_patch_parse(struct hdac_devinfo *devinfo) } break; case HDA_CODEC_ALC861: - if (subvendor == ASUS_P1AH2_SUBVENDOR || - subvendor == FS_PA1510_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; - } + 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++) { @@ -3606,8 +3605,6 @@ hdac_vendor_patch_parse(struct hdac_devinfo *devinfo) if (w != NULL && w->enable != 0 && w->nconns > 3) w->selconn = 3; if (subvendor == IBM_M52_SUBVENDOR) { - struct hdac_audio_ctl *ctl; - ctl = hdac_audio_ctl_amp_get(devinfo, 7, 0, 1); if (ctl != NULL) ctl->ossmask = SOUND_MASK_SPEAKER; |