Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2377c3c3 authored by Lu, Han's avatar Lu, Han Committed by Takashi Iwai
Browse files

ALSA: hda: Intel: enable automatic runtime pm for HDMI codecs by default



Enable runtime PM of the HDMI audio codec on the latest Intel platforms.
So the HD-A controller or HDMI codec can suspend when idle timeout by
default and release the GFX power well.
The patch influences HSW/BDW/BYT/BSW/SKL. Eariler platforms and third
party analog codecs will not be influenced.

Signed-off-by: default avatarLu, Han <han.lu@intel.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 8654844c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -3496,6 +3496,9 @@ static void codec_set_power_save(struct hda_codec *codec, int delay)
{
	struct device *dev = hda_codec_dev(codec);

	if (delay == 0 && codec->auto_runtime_pm)
		delay = 3000;

	if (delay > 0) {
		pm_runtime_set_autosuspend_delay(dev, delay);
		pm_runtime_use_autosuspend(dev);
+1 −0
Original line number Diff line number Diff line
@@ -251,6 +251,7 @@ struct hda_codec {
	unsigned int dp_mst:1; /* support DP1.2 Multi-stream transport */
	unsigned int dump_coef:1; /* dump processing coefs in codec proc file */
	unsigned int power_save_node:1; /* advanced PM for each widget */
	unsigned int auto_runtime_pm:1; /* enable automatic codec runtime pm */
#ifdef CONFIG_PM
	unsigned long power_on_acct;
	unsigned long power_off_acct;
+4 −0
Original line number Diff line number Diff line
@@ -2356,6 +2356,10 @@ static int patch_generic_hdmi(struct hda_codec *codec)
		codec->dp_mst = true;
	}

	/* Enable runtime pm for HDMI audio codec of HSW/BDW/SKL/BYT/BSW */
	if (is_haswell_plus(codec) || is_valleyview_plus(codec))
		codec->auto_runtime_pm = 1;

	generic_hdmi_init_per_pins(codec);

	init_channel_allocations();