aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2015-04-08 05:29:56 -0400
committerTakashi Iwai <tiwai@suse.de>2015-04-08 05:30:49 -0400
commit0a599838737a2527c35e4d94f794aefe59df1781 (patch)
treeb1f7571949527c459ca5e27bd420518e905c8b27 /sound/pci
parent2d846c74027231264e57e4e34faf9576394e3ce0 (diff)
parenta59d7199f62b8336570972dcc288321d0ec999fe (diff)
Merge branch 'for-linus' into for-next
Back merge HD-audio quirks to for-next branch, so that we can apply a couple of more quirks. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/hda_intel.c2
-rw-r--r--sound/pci/hda/patch_realtek.c21
2 files changed, 21 insertions, 2 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 9bcc5457a83e..e1c210515581 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -1967,7 +1967,7 @@ static const struct pci_device_id azx_ids[] = {
1967 .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH }, 1967 .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH },
1968 /* Sunrise Point */ 1968 /* Sunrise Point */
1969 { PCI_DEVICE(0x8086, 0xa170), 1969 { PCI_DEVICE(0x8086, 0xa170),
1970 .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_PCH }, 1970 .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_SKYLAKE },
1971 /* Sunrise Point-LP */ 1971 /* Sunrise Point-LP */
1972 { PCI_DEVICE(0x8086, 0x9d70), 1972 { PCI_DEVICE(0x8086, 0x9d70),
1973 .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_SKYLAKE }, 1973 .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_INTEL_SKYLAKE },
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index e0c06f9a0e80..7f46d063af57 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -396,7 +396,7 @@ static void alc_auto_setup_eapd(struct hda_codec *codec, bool on)
396{ 396{
397 /* We currently only handle front, HP */ 397 /* We currently only handle front, HP */
398 static hda_nid_t pins[] = { 398 static hda_nid_t pins[] = {
399 0x0f, 0x10, 0x14, 0x15, 0 399 0x0f, 0x10, 0x14, 0x15, 0x17, 0
400 }; 400 };
401 hda_nid_t *p; 401 hda_nid_t *p;
402 for (p = pins; *p; p++) 402 for (p = pins; *p; p++)
@@ -2870,6 +2870,8 @@ static void alc283_init(struct hda_codec *codec)
2870 2870
2871 if (!hp_pin) 2871 if (!hp_pin)
2872 return; 2872 return;
2873
2874 msleep(30);
2873 hp_pin_sense = snd_hda_jack_detect(codec, hp_pin); 2875 hp_pin_sense = snd_hda_jack_detect(codec, hp_pin);
2874 2876
2875 /* Index 0x43 Direct Drive HP AMP LPM Control 1 */ 2877 /* Index 0x43 Direct Drive HP AMP LPM Control 1 */
@@ -3564,6 +3566,7 @@ static void alc_headset_mode_unplugged(struct hda_codec *codec)
3564 3566
3565 switch (codec->core.vendor_id) { 3567 switch (codec->core.vendor_id) {
3566 case 0x10ec0255: 3568 case 0x10ec0255:
3569 case 0x10ec0256:
3567 alc_process_coef_fw(codec, coef0255); 3570 alc_process_coef_fw(codec, coef0255);
3568 break; 3571 break;
3569 case 0x10ec0233: 3572 case 0x10ec0233:
@@ -3619,6 +3622,7 @@ static void alc_headset_mode_mic_in(struct hda_codec *codec, hda_nid_t hp_pin,
3619 3622
3620 switch (codec->core.vendor_id) { 3623 switch (codec->core.vendor_id) {
3621 case 0x10ec0255: 3624 case 0x10ec0255:
3625 case 0x10ec0256:
3622 alc_write_coef_idx(codec, 0x45, 0xc489); 3626 alc_write_coef_idx(codec, 0x45, 0xc489);
3623 snd_hda_set_pin_ctl_cache(codec, hp_pin, 0); 3627 snd_hda_set_pin_ctl_cache(codec, hp_pin, 0);
3624 alc_process_coef_fw(codec, coef0255); 3628 alc_process_coef_fw(codec, coef0255);
@@ -3688,6 +3692,7 @@ static void alc_headset_mode_default(struct hda_codec *codec)
3688 3692
3689 switch (codec->core.vendor_id) { 3693 switch (codec->core.vendor_id) {
3690 case 0x10ec0255: 3694 case 0x10ec0255:
3695 case 0x10ec0256:
3691 alc_process_coef_fw(codec, coef0255); 3696 alc_process_coef_fw(codec, coef0255);
3692 break; 3697 break;
3693 case 0x10ec0233: 3698 case 0x10ec0233:
@@ -3742,6 +3747,7 @@ static void alc_headset_mode_ctia(struct hda_codec *codec)
3742 3747
3743 switch (codec->core.vendor_id) { 3748 switch (codec->core.vendor_id) {
3744 case 0x10ec0255: 3749 case 0x10ec0255:
3750 case 0x10ec0256:
3745 alc_process_coef_fw(codec, coef0255); 3751 alc_process_coef_fw(codec, coef0255);
3746 break; 3752 break;
3747 case 0x10ec0233: 3753 case 0x10ec0233:
@@ -3796,6 +3802,7 @@ static void alc_headset_mode_omtp(struct hda_codec *codec)
3796 3802
3797 switch (codec->core.vendor_id) { 3803 switch (codec->core.vendor_id) {
3798 case 0x10ec0255: 3804 case 0x10ec0255:
3805 case 0x10ec0256:
3799 alc_process_coef_fw(codec, coef0255); 3806 alc_process_coef_fw(codec, coef0255);
3800 break; 3807 break;
3801 case 0x10ec0233: 3808 case 0x10ec0233:
@@ -3841,6 +3848,7 @@ static void alc_determine_headset_type(struct hda_codec *codec)
3841 3848
3842 switch (codec->core.vendor_id) { 3849 switch (codec->core.vendor_id) {
3843 case 0x10ec0255: 3850 case 0x10ec0255:
3851 case 0x10ec0256:
3844 alc_process_coef_fw(codec, coef0255); 3852 alc_process_coef_fw(codec, coef0255);
3845 msleep(300); 3853 msleep(300);
3846 val = alc_read_coef_idx(codec, 0x46); 3854 val = alc_read_coef_idx(codec, 0x46);
@@ -4993,6 +5001,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
4993 SND_PCI_QUIRK(0x17aa, 0x501a, "Thinkpad", ALC283_FIXUP_INT_MIC), 5001 SND_PCI_QUIRK(0x17aa, 0x501a, "Thinkpad", ALC283_FIXUP_INT_MIC),
4994 SND_PCI_QUIRK(0x17aa, 0x501e, "Thinkpad L440", ALC292_FIXUP_TPT440_DOCK), 5002 SND_PCI_QUIRK(0x17aa, 0x501e, "Thinkpad L440", ALC292_FIXUP_TPT440_DOCK),
4995 SND_PCI_QUIRK(0x17aa, 0x5026, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), 5003 SND_PCI_QUIRK(0x17aa, 0x5026, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
5004 SND_PCI_QUIRK(0x17aa, 0x5036, "Thinkpad T450s", ALC292_FIXUP_TPT440_DOCK),
4996 SND_PCI_QUIRK(0x17aa, 0x5109, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), 5005 SND_PCI_QUIRK(0x17aa, 0x5109, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
4997 SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_PCM_44K), 5006 SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_PCM_44K),
4998 SND_PCI_QUIRK(0x17aa, 0x9e54, "LENOVO NB", ALC269_FIXUP_LENOVO_EAPD), 5007 SND_PCI_QUIRK(0x17aa, 0x9e54, "LENOVO NB", ALC269_FIXUP_LENOVO_EAPD),
@@ -5173,6 +5182,16 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
5173 {0x17, 0x40000000}, 5182 {0x17, 0x40000000},
5174 {0x1d, 0x40700001}, 5183 {0x1d, 0x40700001},
5175 {0x21, 0x02211050}), 5184 {0x21, 0x02211050}),
5185 SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
5186 {0x12, 0x90a60140},
5187 {0x13, 0x40000000},
5188 {0x14, 0x90170110},
5189 {0x19, 0x411111f0},
5190 {0x1a, 0x411111f0},
5191 {0x1b, 0x411111f0},
5192 {0x1d, 0x40700001},
5193 {0x1e, 0x411111f0},
5194 {0x21, 0x02211020}),
5176 SND_HDA_PIN_QUIRK(0x10ec0280, 0x103c, "HP", ALC280_FIXUP_HP_GPIO4, 5195 SND_HDA_PIN_QUIRK(0x10ec0280, 0x103c, "HP", ALC280_FIXUP_HP_GPIO4,
5177 {0x12, 0x90a60130}, 5196 {0x12, 0x90a60130},
5178 {0x13, 0x40000000}, 5197 {0x13, 0x40000000},