diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-27 18:52:49 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-27 18:52:49 -0700 |
commit | 7c5814c7199851c5fe9395d08fc1ab3c8c1531ea (patch) | |
tree | 66cc9080e47c0be8bd9d4530626e54c77f9895ed /sound/pci | |
parent | a042e26137d7674ac04b1cd2d5c06b9ebc1ee2d5 (diff) | |
parent | 89e1e66d6be8a520cdcd26043cda2cc870a34015 (diff) | |
download | linux-3.10-7c5814c7199851c5fe9395d08fc1ab3c8c1531ea.tar.gz linux-3.10-7c5814c7199851c5fe9395d08fc1ab3c8c1531ea.tar.bz2 linux-3.10-7c5814c7199851c5fe9395d08fc1ab3c8c1531ea.zip |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
ALSA: usb-audio: automatically detect feedback format
ASoC: sound/wm9090: add missing __devexit marker
ASoC: sound/max98088: add missing __devexit marker
ASoC: sound/ad73311: add missing __devexit marker
ASoC: fsl - fix build error in pcm030-audio-fabric.c
sound/oss/sb_ess.c: delete double assignment
ALSA: hda - Change BTL amp level on some HP notebooks
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 82ebeb9544f..93fa59cc60e 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -5326,6 +5326,82 @@ again: return 0; } +static int stac92hd83xxx_set_system_btl_amp(struct hda_codec *codec) +{ + if (codec->vendor_id != 0x111d7605 && + codec->vendor_id != 0x111d76d1) + return 0; + + switch (codec->subsystem_id) { + case 0x103c1618: + case 0x103c1619: + case 0x103c161a: + case 0x103c161b: + case 0x103c161c: + case 0x103c161d: + case 0x103c161e: + case 0x103c161f: + case 0x103c1620: + case 0x103c1621: + case 0x103c1622: + case 0x103c1623: + + case 0x103c162a: + case 0x103c162b: + + case 0x103c1630: + case 0x103c1631: + + case 0x103c1633: + + case 0x103c1635: + + case 0x103c164f: + + case 0x103c1676: + case 0x103c1677: + case 0x103c1678: + case 0x103c1679: + case 0x103c167a: + case 0x103c167b: + case 0x103c167c: + case 0x103c167d: + case 0x103c167e: + case 0x103c167f: + case 0x103c1680: + case 0x103c1681: + case 0x103c1682: + case 0x103c1683: + case 0x103c1684: + case 0x103c1685: + case 0x103c1686: + case 0x103c1687: + case 0x103c1688: + case 0x103c1689: + case 0x103c168a: + case 0x103c168b: + case 0x103c168c: + case 0x103c168d: + case 0x103c168e: + case 0x103c168f: + case 0x103c1690: + case 0x103c1691: + case 0x103c1692: + + case 0x103c3587: + case 0x103c3588: + case 0x103c3589: + case 0x103c358a: + + case 0x103c3667: + case 0x103c3668: + /* set BTL amp level to 13.43dB for louder speaker output */ + return snd_hda_codec_write_cache(codec, codec->afg, 0, + 0x7F4, 0x14); + } + return 0; +} + static int patch_stac92hd83xxx(struct hda_codec *codec) { struct sigmatel_spec *spec; @@ -5452,6 +5528,8 @@ again: AC_VERB_SET_CONNECT_SEL, num_dacs); } + stac92hd83xxx_set_system_btl_amp(codec); + codec->proc_widget_hook = stac92hd_proc_hook; return 0; |