]> git.baikalelectronics.ru Git - kernel.git/commit
ALSA: hda - Force runtime PM on Nvidia HDMI codecs
authorLukas Wunner <lukas@wunner.de>
Thu, 17 Oct 2019 15:04:11 +0000 (17:04 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 17 Oct 2019 15:45:32 +0000 (17:45 +0200)
commitf0c8f16bfdd417359547cb1a9e87fc5ce26d40bc
tree2c90c107ee125db25a71c07cbfd844f530436fd9
parent3596033a86b5560e8b0d0f2cf3cb48a3ae95f6de
ALSA: hda - Force runtime PM on Nvidia HDMI codecs

Przemysław Kopa reports that since commit e1f1dc5078b5 ("PCI: Enable
NVIDIA HDA controllers"), the discrete GPU Nvidia GeForce GT 540M on his
2011 Samsung laptop refuses to runtime suspend, resulting in a power
regression and excessive heat.

Rivera Valdez witnesses the same issue with a GeForce GT 525M (GF108M)
of the same era, as does another Arch Linux user named "R0AR" with a
more recent GeForce GTX 1050 Ti (GP107M).

The commit exposes the discrete GPU's HDA controller and all four codecs
on the controller do not set the CLKSTOP and EPSS bits in the Supported
Power States Response.  They also do not set the PS-ClkStopOk bit in the
Get Power State Response.  hda_codec_runtime_suspend() therefore does
not call snd_hdac_codec_link_down(), which prevents each codec and the
PCI device from runtime suspending.

The same issue is present on some AMD discrete GPUs and we addressed it
by forcing runtime PM despite the bits not being set, see commit
b4a3e5335525 ("ALSA: hda - Force to link down at runtime suspend on
ATI/AMD HDMI").

Do the same for Nvidia HDMI codecs.

Fixes: e1f1dc5078b5 ("PCI: Enable NVIDIA HDA controllers")
Link: https://bbs.archlinux.org/viewtopic.php?pid=79edac0
Link: https://bugs.freedesktop.org/show_bug.cgi?id=75985#c81
Reported-by: Przemysław Kopa <prymoo@gmail.com>
Reported-by: Rivera Valdez <riveravaldez@ysinembargo.com>
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Cc: Daniel Drake <dan@reactivated.net>
Cc: stable@vger.kernel.org # v5.3+
Link: https://lore.kernel.org/r/3086bc75135c1e3567c5bc4f3cc4ff5cbf7a56c2.1571324194.git.lukas@wunner.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_hdmi.c