mirror of
https://github.com/hardkernel/linux.git
synced 2026-05-31 16:26:41 +09:00
Merge tag 'sound-4.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai: "No big surprise here, just a bunch of small fixes for HD-audio and USB-audio: - partial revert of widget power-saving for IDT codecs - revert mute-LED enum ctl for Thinkpads due to confusion - a quirk for a new Radeon HDMI controller - Realtek codec name fix for Dell - a workaround for headphone mic boost on some laptops - stream_pm ops setup (and its fix for regression) - another quirk for MS LifeCam USB-audio" * tag 'sound-4.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda - Fix lost sound due to stream_pm ops cleanup ALSA: hda - Disable Headphone Mic boost for ALC662 ALSA: hda - Disable power_save_node for IDT92HD71bxx ALSA: hda - Fix noise on AMD radeon 290x controller ALSA: hda - Set stream_pm ops automatically by generic parser ALSA: hda/realtek - Add ALC256 alias name for Dell Revert "ALSA: hda - Add mute-LED mode control to Thinkpad" ALSA: usb-audio: Add quirk for MS LifeCam HD-3000
This commit is contained in:
@@ -4926,9 +4926,12 @@ int snd_hda_gen_parse_auto_config(struct hda_codec *codec,
|
||||
dig_only:
|
||||
parse_digital(codec);
|
||||
|
||||
if (spec->power_down_unused || codec->power_save_node)
|
||||
if (spec->power_down_unused || codec->power_save_node) {
|
||||
if (!codec->power_filter)
|
||||
codec->power_filter = snd_hda_gen_path_power_filter;
|
||||
if (!codec->patch_ops.stream_pm)
|
||||
codec->patch_ops.stream_pm = snd_hda_gen_stream_pm;
|
||||
}
|
||||
|
||||
if (!spec->no_analog && spec->beep_nid) {
|
||||
err = snd_hda_attach_beep_device(codec, spec->beep_nid);
|
||||
|
||||
@@ -2089,6 +2089,8 @@ static const struct pci_device_id azx_ids[] = {
|
||||
.driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
|
||||
{ PCI_DEVICE(0x1002, 0xaab0),
|
||||
.driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
|
||||
{ PCI_DEVICE(0x1002, 0xaac8),
|
||||
.driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
|
||||
/* VIA VT8251/VT8237A */
|
||||
{ PCI_DEVICE(0x1106, 0x3288),
|
||||
.driver_data = AZX_DRIVER_VIA | AZX_DCAPS_POSFIX_VIA },
|
||||
|
||||
@@ -884,6 +884,7 @@ static struct alc_codec_rename_pci_table rename_pci_tbl[] = {
|
||||
{ 0x10ec0275, 0x1028, 0, "ALC3260" },
|
||||
{ 0x10ec0899, 0x1028, 0, "ALC3861" },
|
||||
{ 0x10ec0298, 0x1028, 0, "ALC3266" },
|
||||
{ 0x10ec0256, 0x1028, 0, "ALC3246" },
|
||||
{ 0x10ec0670, 0x1025, 0, "ALC669X" },
|
||||
{ 0x10ec0676, 0x1025, 0, "ALC679X" },
|
||||
{ 0x10ec0282, 0x1043, 0, "ALC3229" },
|
||||
@@ -4227,6 +4228,11 @@ static void alc_fixup_headset_mode_alc662(struct hda_codec *codec,
|
||||
if (action == HDA_FIXUP_ACT_PRE_PROBE) {
|
||||
spec->parse_flags |= HDA_PINCFG_HEADSET_MIC;
|
||||
spec->gen.hp_mic = 1; /* Mic-in is same pin as headphone */
|
||||
|
||||
/* Disable boost for mic-in permanently. (This code is only called
|
||||
from quirks that guarantee that the headphone is at NID 0x1b.) */
|
||||
snd_hda_codec_write(codec, 0x1b, 0, AC_VERB_SET_AMP_GAIN_MUTE, 0x7000);
|
||||
snd_hda_override_wcaps(codec, 0x1b, get_wcaps(codec, 0x1b) & ~AC_WCAP_IN_AMP);
|
||||
} else
|
||||
alc_fixup_headset_mode(codec, fix, action);
|
||||
}
|
||||
|
||||
@@ -4403,7 +4403,6 @@ static const struct hda_codec_ops stac_patch_ops = {
|
||||
#ifdef CONFIG_PM
|
||||
.suspend = stac_suspend,
|
||||
#endif
|
||||
.stream_pm = snd_hda_gen_stream_pm,
|
||||
.reboot_notify = stac_shutup,
|
||||
};
|
||||
|
||||
@@ -4697,7 +4696,8 @@ static int patch_stac92hd71bxx(struct hda_codec *codec)
|
||||
return err;
|
||||
|
||||
spec = codec->spec;
|
||||
codec->power_save_node = 1;
|
||||
/* disabled power_save_node since it causes noises on a Dell machine */
|
||||
/* codec->power_save_node = 1; */
|
||||
spec->linear_tone_beep = 0;
|
||||
spec->gen.own_eapd_ctl = 1;
|
||||
spec->gen.power_down_unused = 1;
|
||||
|
||||
@@ -72,7 +72,6 @@ static void hda_fixup_thinkpad_acpi(struct hda_codec *codec,
|
||||
if (led_set_func(TPACPI_LED_MUTE, false) >= 0) {
|
||||
old_vmaster_hook = spec->vmaster_mute.hook;
|
||||
spec->vmaster_mute.hook = update_tpacpi_mute_led;
|
||||
spec->vmaster_mute_enum = 1;
|
||||
removefunc = false;
|
||||
}
|
||||
if (led_set_func(TPACPI_LED_MICMUTE, false) >= 0) {
|
||||
|
||||
@@ -1118,6 +1118,7 @@ bool snd_usb_get_sample_rate_quirk(struct snd_usb_audio *chip)
|
||||
case USB_ID(0x045E, 0x075D): /* MS Lifecam Cinema */
|
||||
case USB_ID(0x045E, 0x076D): /* MS Lifecam HD-5000 */
|
||||
case USB_ID(0x045E, 0x0772): /* MS Lifecam Studio */
|
||||
case USB_ID(0x045E, 0x0779): /* MS Lifecam HD-3000 */
|
||||
case USB_ID(0x04D8, 0xFEEA): /* Benchmark DAC1 Pre */
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user