[alsa-devel] Question about runtime PM for HDA codecs
Sridharan, Ranjani
ranjani.sridharan at intel.com
Wed Jan 15 19:15:40 CET 2020
Hi Takashi,
Can I please bother you with a question about how to handle the situation
with runtime PM for HDA codec on one of the Intel CML-based platforms with
an ALC285 codec.
Basically, the problem we're facing is that when using the SOF driver,
jack detection doesn't seem to work as intended because the codec gets
suspended right after the headset is plugged in.
After a bit of experimenting, what we found was that calling
snd_hda_set_power_save() with a delay of 0 or something > 0, both help with
fixing the problem.
But, I have a basic question about this. What is the expectation for
enabling the codec runtime PM?
I see that the legacy driver calls snd_hda_set_power_save() based on the
CONFIG_SND_HDA_POWER_SAVE_DEFAULT value. In the case of SOF, we do not
explicitly set this value so it is 0 by default. Also, when the codec is
registered, the runtime PM for the codec is enabled by default without
checking if the power_save delay is set to 0 or not. And later when the
snd_hda_set_power_save() is called from the legacy HDA driver probe, it
sets the use of auto suspend and the delay to be used based on the config.
Would it be correct to remove the pm_runtime_enable() call
in snd_hda_codec_register() and let the codec runtime PM enabling be set
with the call to snd_hda_set_power_save() for both the legacy HDA driver
and the SOF driver?
Thanks,
Ranjani
More information about the Alsa-devel
mailing list