linux-stable/sound/pci/hda
Takashi Iwai 856da5e097 ALSA: hda/realtek - Always immediately update mute LED with pin VREF
commit e40bdb03d3 upstream.

Some HP laptops have a mute mute LED controlled by a pin VREF.  The
Realtek codec driver updates the VREF via vmaster hook by calling
snd_hda_set_pin_ctl_cache().

This works fine as long as the driver is running in a normal mode.
However, when the VREF change happens during the codec being in
runtime PM suspend, the regmap access will skip and postpone the
actual register change.  This ends up with the unchanged LED status
until the next runtime PM resume even if you change the Master mute
switch.  (Interestingly, the machine keeps the LED status even after
the codec goes into D3 -- but it's another story.)

For improving this usability, let the driver temporarily powering up /
down only during the pin VREF change.  This can be achieved easily by
wrapping the call with snd_hda_power_up_pm() / *_down_pm().

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=199073
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-28 18:24:30 +02:00
..
ca0132_regs.h
dell_wmi_helper.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hda_auto_parser.c ALSA: hda - A new flag to enforce prefix to each pin 2017-04-10 17:44:39 +02:00
hda_auto_parser.h
hda_beep.c ALSA: hda-beep: Update authors dead email address 2015-06-13 09:13:26 +02:00
hda_beep.h ALSA: hda-beep: Update authors dead email address 2015-06-20 09:24:40 +02:00
hda_bind.c ALSA: hda: Fix forget to free resource in error handling code path in hda_codec_driver_probe 2017-09-04 17:33:53 +02:00
hda_codec.c ALSA: hda - Fix yet remaining issue with vmaster 0dB initialization 2017-11-30 08:40:49 +00:00
hda_codec.h ALSA: hda: Fix regression of hdmi eld control created based on invalid pcm 2017-09-03 16:33:42 +02:00
hda_controller.c ALSA: hda - Skip card registration when no codec is found 2017-06-28 12:45:34 +02:00
hda_controller.h ALSA: hda - Fix doubly initialization of i915 component 2017-06-30 08:58:53 +02:00
hda_controller_trace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hda_eld.c ALSA: hda - Use snd_hdac namespace prefix for chmap exported APIs 2016-03-07 15:46:06 +01:00
hda_generic.c Merge branch 'topic/hda-fix' into for-next 2017-06-28 16:42:50 +02:00
hda_generic.h ALSA: hda - Allow to enable/disable vmaster build explicitly 2017-04-10 17:45:27 +02:00
hda_hwdep.c ALSA: hda - Add card field to hda_codec struct 2015-03-03 11:25:16 +01:00
hda_intel.c ALSA: hda - Force polling mode on CFL for fixing codec communication 2018-03-28 18:24:29 +02:00
hda_intel.h ALSA: hda - Spell vga_switcheroo consistently 2015-10-19 11:00:45 +02:00
hda_intel_trace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hda_jack.c ALSA: hda - Fix bad dereference of jack object 2016-02-09 12:16:31 +01:00
hda_jack.h ALSA: hda - Fix bad dereference of jack object 2016-02-09 12:16:31 +01:00
hda_local.h ALSA: hda - Remove the generic bind ctl helpers 2017-05-17 07:13:10 +02:00
hda_proc.c ALSA: hda/proc - Fix racy string access for power states 2015-08-17 15:12:04 +02:00
hda_sysfs.c ALSA: hda: constify attribute_group structures. 2017-06-29 18:20:21 +02:00
hda_tegra.c ALSA: hda/tegra: iomem fixups for sparse warnings 2016-06-22 15:19:10 +02:00
Kconfig ALSA: hda - Clarify CONFIG_SND_HDA_RECONFIG usages 2016-05-09 17:47:37 +02:00
local.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
patch_analog.c ALSA: hda: make snd_kcontrol_new const 2017-08-16 14:29:08 +02:00
patch_ca0110.c ALSA: hda - convert to hda_device_id 2015-10-20 10:15:20 +02:00
patch_ca0132.c ALSA: hda/ca0132 - Fix memory leak at error path 2017-09-04 17:42:27 +02:00
patch_cirrus.c ALSA: hda - Apply the existing quirk to iMac 14,1 2018-01-23 19:58:12 +01:00
patch_cmedia.c ALSA: hda - convert to hda_device_id 2015-10-20 10:15:20 +02:00
patch_conexant.c ALSA: hda: add dock and led support for HP ProBook 640 G2 2018-03-15 10:54:35 +01:00
patch_hdmi.c ALSA: hda - Add vendor id for Cannonlake HDMI codec 2017-12-29 17:53:46 +01:00
patch_realtek.c ALSA: hda/realtek - Always immediately update mute LED with pin VREF 2018-03-28 18:24:30 +02:00
patch_si3054.c ALSA: hda: Constify hw_constraints 2017-06-09 10:42:52 +02:00
patch_sigmatel.c ALSA: hda: make snd_kcontrol_new const 2017-08-16 14:29:08 +02:00
patch_via.c ALSA: hda - convert to hda_device_id 2015-10-20 10:15:20 +02:00
thinkpad_helper.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00