summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorariff <ariff@FreeBSD.org>2006-12-22 11:55:59 +0000
committerariff <ariff@FreeBSD.org>2006-12-22 11:55:59 +0000
commit7bed911f0563515ede0d156349717ed48f820aaa (patch)
tree3d17eaa823fbe38c8b7ce465e0d3faa7839721b5 /sys/dev
parent9c271abc0d67ad0d95135447d3ba3a88e6df56e3 (diff)
downloadFreeBSD-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.c17
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;
OpenPOWER on IntegriCloud