diff options
| -rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 53 |
1 files changed, 10 insertions, 43 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 056f52df68cd..9ea48b425d0b 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
| @@ -5333,7 +5333,7 @@ again: | |||
| 5333 | return 0; | 5333 | return 0; |
| 5334 | } | 5334 | } |
| 5335 | 5335 | ||
| 5336 | static int stac92hd83xxx_set_system_btl_amp(struct hda_codec *codec) | 5336 | static int hp_bnb2011_with_dock(struct hda_codec *codec) |
| 5337 | { | 5337 | { |
| 5338 | if (codec->vendor_id != 0x111d7605 && | 5338 | if (codec->vendor_id != 0x111d7605 && |
| 5339 | codec->vendor_id != 0x111d76d1) | 5339 | codec->vendor_id != 0x111d76d1) |
| @@ -5348,10 +5348,6 @@ static int stac92hd83xxx_set_system_btl_amp(struct hda_codec *codec) | |||
| 5348 | case 0x103c161d: | 5348 | case 0x103c161d: |
| 5349 | case 0x103c161e: | 5349 | case 0x103c161e: |
| 5350 | case 0x103c161f: | 5350 | case 0x103c161f: |
| 5351 | case 0x103c1620: | ||
| 5352 | case 0x103c1621: | ||
| 5353 | case 0x103c1622: | ||
| 5354 | case 0x103c1623: | ||
| 5355 | 5351 | ||
| 5356 | case 0x103c162a: | 5352 | case 0x103c162a: |
| 5357 | case 0x103c162b: | 5353 | case 0x103c162b: |
| @@ -5360,41 +5356,9 @@ static int stac92hd83xxx_set_system_btl_amp(struct hda_codec *codec) | |||
| 5360 | case 0x103c1631: | 5356 | case 0x103c1631: |
| 5361 | 5357 | ||
| 5362 | case 0x103c1633: | 5358 | case 0x103c1633: |
| 5363 | 5359 | case 0x103c1634: | |
| 5364 | case 0x103c1635: | 5360 | case 0x103c1635: |
| 5365 | 5361 | ||
| 5366 | case 0x103c164f: | ||
| 5367 | |||
| 5368 | case 0x103c1676: | ||
| 5369 | case 0x103c1677: | ||
| 5370 | case 0x103c1678: | ||
| 5371 | case 0x103c1679: | ||
| 5372 | case 0x103c167a: | ||
| 5373 | case 0x103c167b: | ||
| 5374 | case 0x103c167c: | ||
| 5375 | case 0x103c167d: | ||
| 5376 | case 0x103c167e: | ||
| 5377 | case 0x103c167f: | ||
| 5378 | case 0x103c1680: | ||
| 5379 | case 0x103c1681: | ||
| 5380 | case 0x103c1682: | ||
| 5381 | case 0x103c1683: | ||
| 5382 | case 0x103c1684: | ||
| 5383 | case 0x103c1685: | ||
| 5384 | case 0x103c1686: | ||
| 5385 | case 0x103c1687: | ||
| 5386 | case 0x103c1688: | ||
| 5387 | case 0x103c1689: | ||
| 5388 | case 0x103c168a: | ||
| 5389 | case 0x103c168b: | ||
| 5390 | case 0x103c168c: | ||
| 5391 | case 0x103c168d: | ||
| 5392 | case 0x103c168e: | ||
| 5393 | case 0x103c168f: | ||
| 5394 | case 0x103c1690: | ||
| 5395 | case 0x103c1691: | ||
| 5396 | case 0x103c1692: | ||
| 5397 | |||
| 5398 | case 0x103c3587: | 5362 | case 0x103c3587: |
| 5399 | case 0x103c3588: | 5363 | case 0x103c3588: |
| 5400 | case 0x103c3589: | 5364 | case 0x103c3589: |
| @@ -5402,9 +5366,9 @@ static int stac92hd83xxx_set_system_btl_amp(struct hda_codec *codec) | |||
| 5402 | 5366 | ||
| 5403 | case 0x103c3667: | 5367 | case 0x103c3667: |
| 5404 | case 0x103c3668: | 5368 | case 0x103c3668: |
| 5405 | /* set BTL amp level to 13.43dB for louder speaker output */ | 5369 | case 0x103c3669: |
| 5406 | return snd_hda_codec_write_cache(codec, codec->afg, 0, | 5370 | |
| 5407 | 0x7F4, 0x14); | 5371 | return 1; |
| 5408 | } | 5372 | } |
| 5409 | return 0; | 5373 | return 0; |
| 5410 | } | 5374 | } |
| @@ -5420,6 +5384,11 @@ static int patch_stac92hd83xxx(struct hda_codec *codec) | |||
| 5420 | if (spec == NULL) | 5384 | if (spec == NULL) |
| 5421 | return -ENOMEM; | 5385 | return -ENOMEM; |
| 5422 | 5386 | ||
| 5387 | if (hp_bnb2011_with_dock(codec)) { | ||
| 5388 | snd_hda_codec_set_pincfg(codec, 0xa, 0x2101201f); | ||
| 5389 | snd_hda_codec_set_pincfg(codec, 0xf, 0x2181205e); | ||
| 5390 | } | ||
| 5391 | |||
| 5423 | /* reset pin power-down; Windows may leave these bits after reboot */ | 5392 | /* reset pin power-down; Windows may leave these bits after reboot */ |
| 5424 | snd_hda_codec_write_cache(codec, codec->afg, 0, 0x7EC, 0); | 5393 | snd_hda_codec_write_cache(codec, codec->afg, 0, 0x7EC, 0); |
| 5425 | snd_hda_codec_write_cache(codec, codec->afg, 0, 0x7ED, 0); | 5394 | snd_hda_codec_write_cache(codec, codec->afg, 0, 0x7ED, 0); |
| @@ -5546,8 +5515,6 @@ again: | |||
| 5546 | AC_VERB_SET_CONNECT_SEL, num_dacs); | 5515 | AC_VERB_SET_CONNECT_SEL, num_dacs); |
| 5547 | } | 5516 | } |
| 5548 | 5517 | ||
| 5549 | stac92hd83xxx_set_system_btl_amp(codec); | ||
| 5550 | |||
| 5551 | codec->proc_widget_hook = stac92hd_proc_hook; | 5518 | codec->proc_widget_hook = stac92hd_proc_hook; |
| 5552 | 5519 | ||
| 5553 | return 0; | 5520 | return 0; |
