[alsa-devel] power state in power save mode

Takashi Iwai tiwai at suse.de
Tue Apr 9 12:15:17 CEST 2019


On Tue, 09 Apr 2019 11:54:27 +0200,
Kailang wrote:
> 
> Hi Takashi,
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/commit/?h=for-next&id=98081ca62cbac31fb0f7efaf90b2e7384ce22257
> 
> Use upper patch to print power state in function alc256_init() and alc256_shutup().
> But when kernel turn on power_save = 1. (echo 1 > /sys/module/snd_hda_intel/parameters/power_save)
> 
> The print power state value always be 0x0.

That's expected, it means PM_EVENT_ON.
The power_state value is changed only during the suspend and resume.
Once after returning from resume, it's set to PM_EVENT_ON.

> ( If it turn off power save, power state value will normally)

What does it mean exactly...?

Actually one missing piece is to set PMSG_ON at the device
initialization.  A patch like below.


thanks,

Takashi

--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -969,6 +969,7 @@ int snd_hda_codec_device_new(struct hda_bus *bus, struct snd_card *card,
 
 	/* power-up all before initialization */
 	hda_set_power_state(codec, AC_PWRST_D0);
+	codec->core.dev.power.power_state = PMSG_ON;
 
 	snd_hda_codec_proc_new(codec);
 


More information about the Alsa-devel mailing list