diff options
author | mav <mav@FreeBSD.org> | 2012-10-31 22:11:51 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2012-10-31 22:11:51 +0000 |
commit | 8ca84edc33bb9dc59af3c9bf645c758b797e0a62 (patch) | |
tree | b8c170afd10dd562d69a1627a994d9f46a1de281 /sys/dev/sound/pci | |
parent | 24257549e29c2c672e0df49ce8c9eb5f9597be69 (diff) | |
download | FreeBSD-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.c | 15 |
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: |