summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound/pci
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2012-10-31 22:11:51 +0000
committermav <mav@FreeBSD.org>2012-10-31 22:11:51 +0000
commit8ca84edc33bb9dc59af3c9bf645c758b797e0a62 (patch)
treeb8c170afd10dd562d69a1627a994d9f46a1de281 /sys/dev/sound/pci
parent24257549e29c2c672e0df49ce8c9eb5f9597be69 (diff)
downloadFreeBSD-src-8ca84edc33bb9dc59af3c9bf645c758b797e0a62.zip
FreeBSD-src-8ca84edc33bb9dc59af3c9bf645c758b797e0a62.tar.gz
ASUS EeePC 1001px has strange variant of ALC269 CODEC, that mutes speaker
if unused in that configuration mixer at NID 15 is muted. Probably CODEC incorrectly reports its internal connections. Hide that muter from the driver to avoid muting and make built-in speaker work. There are several different CODECs sharing this ID and I have not enough information about them and the bug to implement more universal solution. Tested by: Big Yuuta <init.py@gmail.com> MFC after: 2 weeks
Diffstat (limited to 'sys/dev/sound/pci')
-rw-r--r--sys/dev/sound/pci/hda/hdaa_patches.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/sys/dev/sound/pci/hda/hdaa_patches.c b/sys/dev/sound/pci/hda/hdaa_patches.c
index 9490620..2e7255f 100644
--- a/sys/dev/sound/pci/hda/hdaa_patches.c
+++ b/sys/dev/sound/pci/hda/hdaa_patches.c
@@ -541,6 +541,21 @@ hdaa_patch(struct hdaa_devinfo *devinfo)
if (w != NULL)
w->connsenable[0] = 0;
break;
+ case HDA_CODEC_ALC269:
+ /*
+ * ASUS EeePC 1001px has strange variant of ALC269 CODEC,
+ * that mutes speaker if unused mixer at NID 15 is muted.
+ * Probably CODEC incorrectly reports internal connections.
+ * Hide that muter from the driver. There are several CODECs
+ * sharing this ID and I have not enough information about
+ * them to implement more universal solution.
+ */
+ if (subid == 0x84371043) {
+ w = hdaa_widget_get(devinfo, 15);
+ if (w != NULL)
+ w->param.inamp_cap = 0;
+ }
+ break;
case HDA_CODEC_CX20582:
case HDA_CODEC_CX20583:
case HDA_CODEC_CX20584:
OpenPOWER on IntegriCloud