From: Takashi Iwai <tiwai@suse.de>
To: Lukas Wunner <lukas@wunner.de>
Cc: Rivera Valdez <riveravaldez@ysinembargo.com>,
alsa-devel@alsa-project.org, Przemyslaw Kopa <prymoo@gmail.com>,
Daniel Drake <dan@reactivated.net>,
nouveau@lists.freedesktop.org
Subject: Re: [alsa-devel] [PATCH] ALSA: hda - Force runtime PM on Nvidia HDMI codecs
Date: Thu, 17 Oct 2019 17:47:23 +0200 [thread overview]
Message-ID: <s5h4l07idbo.wl-tiwai@suse.de> (raw)
In-Reply-To: <3086bc75135c1e3567c5bc4f3cc4ff5cbf7a56c2.1571324194.git.lukas@wunner.de>
On Thu, 17 Oct 2019 17:04:11 +0200,
Lukas Wunner wrote:
>
> Przemysław Kopa reports that since commit b516ea586d71 ("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
> 57cb54e53bdd ("ALSA: hda - Force to link down at runtime suspend on
> ATI/AMD HDMI").
>
> Do the same for Nvidia HDMI codecs.
>
> Fixes: b516ea586d71 ("PCI: Enable NVIDIA HDA controllers")
> Link: https://bbs.archlinux.org/viewtopic.php?pid=1865512
> 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+
Applied now. Thanks.
Takashi
> ---
> sound/pci/hda/patch_hdmi.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
> index bca5de7..795cbda 100644
> --- a/sound/pci/hda/patch_hdmi.c
> +++ b/sound/pci/hda/patch_hdmi.c
> @@ -3474,6 +3474,8 @@ static int patch_nvhdmi(struct hda_codec *codec)
> nvhdmi_chmap_cea_alloc_validate_get_type;
> spec->chmap.ops.chmap_validate = nvhdmi_chmap_validate;
>
> + codec->link_down_at_suspend = 1;
> +
> generic_acomp_init(codec, &nvhdmi_audio_ops, nvhdmi_port2pin);
>
> return 0;
> --
> 2.20.1
>
>
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
prev parent reply other threads:[~2019-10-17 15:48 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-17 15:04 [alsa-devel] [PATCH] ALSA: hda - Force runtime PM on Nvidia HDMI codecs Lukas Wunner
2019-10-17 15:47 ` Takashi Iwai [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=s5h4l07idbo.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=alsa-devel@alsa-project.org \
--cc=dan@reactivated.net \
--cc=lukas@wunner.de \
--cc=nouveau@lists.freedesktop.org \
--cc=prymoo@gmail.com \
--cc=riveravaldez@ysinembargo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox