Merge tag 'sound-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
"Nothing looks scary, just a few usual HD-audio regression fixes and
fixup, in addition to a minor Kconfig dependency fix for the old MIPS
drivers"

* tag 'sound-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ALSA: hda - Fix unused label skip_i915
ALSA: hda - Fix noisy outputs on Dell XPS13 (2015 model)
ALSA: mips: let SND_SGI_O2 select SND_PCM
ALSA: hda - Fix audio crackles on Dell Latitude E7x40
ALSA: hda - adding a DAC/pin preference map for a HP Envy TS machine

Changed files
+45 -2
sound
+2
sound/mips/Kconfig
··· 12 12 config SND_SGI_O2 13 13 tristate "SGI O2 Audio" 14 14 depends on SGI_IP32 15 + select SND_PCM 15 16 help 16 17 Sound support for the SGI O2 Workstation. 17 18 18 19 config SND_SGI_HAL2 19 20 tristate "SGI HAL2 Audio" 20 21 depends on SGI_HAS_HAL2 22 + select SND_PCM 21 23 help 22 24 Sound support for the SGI Indy and Indigo2 Workstation. 23 25
+2
sound/pci/hda/hda_intel.c
··· 1879 1879 #endif 1880 1880 } 1881 1881 1882 + #ifdef CONFIG_SND_HDA_I915 1882 1883 skip_i915: 1884 + #endif 1883 1885 err = azx_first_init(chip); 1884 1886 if (err < 0) 1885 1887 goto out_free;
+16 -2
sound/pci/hda/patch_realtek.c
··· 4515 4515 ALC288_FIXUP_DELL_HEADSET_MODE, 4516 4516 ALC288_FIXUP_DELL1_MIC_NO_PRESENCE, 4517 4517 ALC288_FIXUP_DELL_XPS_13_GPIO6, 4518 + ALC292_FIXUP_DELL_E7X, 4519 + ALC292_FIXUP_DISABLE_AAMIX, 4518 4520 }; 4519 4521 4520 4522 static const struct hda_fixup alc269_fixups[] = { ··· 5039 5037 .chained = true, 5040 5038 .chain_id = ALC288_FIXUP_DELL1_MIC_NO_PRESENCE 5041 5039 }, 5040 + [ALC292_FIXUP_DISABLE_AAMIX] = { 5041 + .type = HDA_FIXUP_FUNC, 5042 + .v.func = alc_fixup_disable_aamix, 5043 + }, 5044 + [ALC292_FIXUP_DELL_E7X] = { 5045 + .type = HDA_FIXUP_FUNC, 5046 + .v.func = alc_fixup_dell_xps13, 5047 + .chained = true, 5048 + .chain_id = ALC292_FIXUP_DISABLE_AAMIX 5049 + }, 5042 5050 }; 5043 5051 5044 5052 static const struct snd_pci_quirk alc269_fixup_tbl[] = { ··· 5061 5049 SND_PCI_QUIRK(0x1025, 0x0775, "Acer Aspire E1-572", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572), 5062 5050 SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", ALC282_FIXUP_ASPIRE_V5_PINS), 5063 5051 SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z), 5052 + SND_PCI_QUIRK(0x1028, 0x05ca, "Dell Latitude E7240", ALC292_FIXUP_DELL_E7X), 5053 + SND_PCI_QUIRK(0x1028, 0x05cb, "Dell Latitude E7440", ALC292_FIXUP_DELL_E7X), 5064 5054 SND_PCI_QUIRK(0x1028, 0x05da, "Dell Vostro 5460", ALC290_FIXUP_SUBWOOFER), 5065 5055 SND_PCI_QUIRK(0x1028, 0x05f4, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE), 5066 5056 SND_PCI_QUIRK(0x1028, 0x05f5, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE), ··· 5072 5058 SND_PCI_QUIRK(0x1028, 0x0638, "Dell Inspiron 5439", ALC290_FIXUP_MONO_SPEAKERS_HSJACK), 5073 5059 SND_PCI_QUIRK(0x1028, 0x064a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), 5074 5060 SND_PCI_QUIRK(0x1028, 0x064b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), 5061 + SND_PCI_QUIRK(0x1028, 0x0665, "Dell XPS 13", ALC292_FIXUP_DELL_E7X), 5075 5062 SND_PCI_QUIRK(0x1028, 0x06c7, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE), 5076 5063 SND_PCI_QUIRK(0x1028, 0x06d9, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), 5077 5064 SND_PCI_QUIRK(0x1028, 0x06da, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), ··· 5652 5637 5653 5638 spec = codec->spec; 5654 5639 spec->gen.shared_mic_vref_pin = 0x18; 5655 - if (codec->core.vendor_id != 0x10ec0292) 5656 - codec->power_save_node = 1; 5640 + codec->power_save_node = 1; 5657 5641 5658 5642 snd_hda_pick_fixup(codec, alc269_fixup_models, 5659 5643 alc269_fixup_tbl, alc269_fixups);
+25
sound/pci/hda/patch_sigmatel.c
··· 100 100 STAC_HP_ENVY_BASS, 101 101 STAC_HP_BNB13_EQ, 102 102 STAC_HP_ENVY_TS_BASS, 103 + STAC_HP_ENVY_TS_DAC_BIND, 103 104 STAC_92HD83XXX_GPIO10_EAPD, 104 105 STAC_92HD83XXX_MODELS 105 106 }; ··· 2172 2171 spec->eapd_switch = 0; 2173 2172 } 2174 2173 2174 + static void hp_envy_ts_fixup_dac_bind(struct hda_codec *codec, 2175 + const struct hda_fixup *fix, 2176 + int action) 2177 + { 2178 + struct sigmatel_spec *spec = codec->spec; 2179 + static hda_nid_t preferred_pairs[] = { 2180 + 0xd, 0x13, 2181 + 0 2182 + }; 2183 + 2184 + if (action != HDA_FIXUP_ACT_PRE_PROBE) 2185 + return; 2186 + 2187 + spec->gen.preferred_dacs = preferred_pairs; 2188 + } 2189 + 2175 2190 static const struct hda_verb hp_bnb13_eq_verbs[] = { 2176 2191 /* 44.1KHz base */ 2177 2192 { 0x22, 0x7A6, 0x3E }, ··· 2703 2686 {} 2704 2687 }, 2705 2688 }, 2689 + [STAC_HP_ENVY_TS_DAC_BIND] = { 2690 + .type = HDA_FIXUP_FUNC, 2691 + .v.func = hp_envy_ts_fixup_dac_bind, 2692 + .chained = true, 2693 + .chain_id = STAC_HP_ENVY_TS_BASS, 2694 + }, 2706 2695 [STAC_92HD83XXX_GPIO10_EAPD] = { 2707 2696 .type = HDA_FIXUP_FUNC, 2708 2697 .v.func = stac92hd83xxx_fixup_gpio10_eapd, ··· 2787 2764 "HP bNB13", STAC_HP_BNB13_EQ), 2788 2765 SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x190e, 2789 2766 "HP ENVY TS", STAC_HP_ENVY_TS_BASS), 2767 + SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1967, 2768 + "HP ENVY TS", STAC_HP_ENVY_TS_DAC_BIND), 2790 2769 SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1940, 2791 2770 "HP bNB13", STAC_HP_BNB13_EQ), 2792 2771 SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x1941,