diff options
| -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 82ebeb9544fe..93fa59cc60ef 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
| @@ -5326,6 +5326,82 @@ again: | |||
| 5326 | return 0; | 5326 | return 0; |
| 5327 | } | 5327 | } |
| 5328 | 5328 | ||
| 5329 | static int stac92hd83xxx_set_system_btl_amp(struct hda_codec *codec) | ||
| 5330 | { | ||
| 5331 | if (codec->vendor_id != 0x111d7605 && | ||
| 5332 | codec->vendor_id != 0x111d76d1) | ||
| 5333 | return 0; | ||
| 5334 | |||
| 5335 | switch (codec->subsystem_id) { | ||
| 5336 | case 0x103c1618: | ||
| 5337 | case 0x103c1619: | ||
| 5338 | case 0x103c161a: | ||
| 5339 | case 0x103c161b: | ||
| 5340 | case 0x103c161c: | ||
| 5341 | case 0x103c161d: | ||
| 5342 | case 0x103c161e: | ||
| 5343 | case 0x103c161f: | ||
| 5344 | case 0x103c1620: | ||
| 5345 | case 0x103c1621: | ||
| 5346 | case 0x103c1622: | ||
| 5347 | case 0x103c1623: | ||
| 5348 | |||
| 5349 | case 0x103c162a: | ||
| 5350 | case 0x103c162b: | ||
| 5351 | |||
| 5352 | case 0x103c1630: | ||
| 5353 | case 0x103c1631: | ||
| 5354 | |||
| 5355 | case 0x103c1633: | ||
| 5356 | |||
| 5357 | case 0x103c1635: | ||
| 5358 | |||
| 5359 | case 0x103c164f: | ||
| 5360 | |||
| 5361 | case 0x103c1676: | ||
| 5362 | case 0x103c1677: | ||
| 5363 | case 0x103c1678: | ||
| 5364 | case 0x103c1679: | ||
| 5365 | case 0x103c167a: | ||
| 5366 | case 0x103c167b: | ||
| 5367 | case 0x103c167c: | ||
| 5368 | case 0x103c167d: | ||
| 5369 | case 0x103c167e: | ||
| 5370 | case 0x103c167f: | ||
| 5371 | case 0x103c1680: | ||
| 5372 | case 0x103c1681: | ||
| 5373 | case 0x103c1682: | ||
| 5374 | case 0x103c1683: | ||
| 5375 | case 0x103c1684: | ||
| 5376 | case 0x103c1685: | ||
| 5377 | case 0x103c1686: | ||
| 5378 | case 0x103c1687: | ||
| 5379 | case 0x103c1688: | ||
| 5380 | case 0x103c1689: | ||
| 5381 | case 0x103c168a: | ||
| 5382 | case 0x103c168b: | ||
| 5383 | case 0x103c168c: | ||
| 5384 | case 0x103c168d: | ||
| 5385 | case 0x103c168e: | ||
| 5386 | case 0x103c168f: | ||
| 5387 | case 0x103c1690: | ||
| 5388 | case 0x103c1691: | ||
| 5389 | case 0x103c1692: | ||
| 5390 | |||
| 5391 | case 0x103c3587: | ||
| 5392 | case 0x103c3588: | ||
| 5393 | case 0x103c3589: | ||
| 5394 | case 0x103c358a: | ||
| 5395 | |||
| 5396 | case 0x103c3667: | ||
| 5397 | case 0x103c3668: | ||
| 5398 | /* set BTL amp level to 13.43dB for louder speaker output */ | ||
| 5399 | return snd_hda_codec_write_cache(codec, codec->afg, 0, | ||
| 5400 | 0x7F4, 0x14); | ||
| 5401 | } | ||
| 5402 | return 0; | ||
| 5403 | } | ||
| 5404 | |||
| 5329 | static int patch_stac92hd83xxx(struct hda_codec *codec) | 5405 | static int patch_stac92hd83xxx(struct hda_codec *codec) |
| 5330 | { | 5406 | { |
| 5331 | struct sigmatel_spec *spec; | 5407 | struct sigmatel_spec *spec; |
| @@ -5452,6 +5528,8 @@ again: | |||
| 5452 | AC_VERB_SET_CONNECT_SEL, num_dacs); | 5528 | AC_VERB_SET_CONNECT_SEL, num_dacs); |
| 5453 | } | 5529 | } |
| 5454 | 5530 | ||
| 5531 | stac92hd83xxx_set_system_btl_amp(codec); | ||
| 5532 | |||
| 5455 | codec->proc_widget_hook = stac92hd_proc_hook; | 5533 | codec->proc_widget_hook = stac92hd_proc_hook; |
| 5456 | 5534 | ||
| 5457 | return 0; | 5535 | return 0; |
