[alsa-devel] [PATCH 1/2] ALSA: x86: Fix runtime PM for hdmi-lpe-audio

Chris Wilson chris at chris-wilson.co.uk
Wed Oct 24 18:09:06 CEST 2018


Quoting Ville Syrjala (2018-10-24 16:48:24)
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> Commit 46e831abe864 ("drm/i915/lpe: Mark LPE audio runtime pm as
> "no callbacks"") broke runtime PM with lpe audio. We can no longer
> runtime suspend the GPU since the sysfs  power/control for the
> lpe-audio device no longer exists and the device is considered
> always active. We can fix this by not marking the device as
> active.

Seems like this use is covered by runtime_pm.txt:

However, if the device has a parent and the parent's runtime PM is enabled,
calling pm_runtime_set_active() for the device will affect the parent, unless
the parent's 'power.ignore_children' flag is set.  Namely, in that case the
parent won't be able to suspend at run time, using the PM core's helper
functions, as long as the child's status is 'active', even if the child's
runtime PM is still disabled (i.e. pm_runtime_enable() hasn't been called for
the child yet or pm_runtime_disable() has been called for it).  For this reason,
once pm_runtime_set_active() has been called for the device, pm_runtime_enable()
should be called for it too as soon as reasonably possible or its runtime PM
status should be changed back to 'suspended' with the help of
pm_runtime_set_suspended().

> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Takashi Iwai <tiwai at suse.de>
> Cc: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
> Fixes: 46e831abe864 ("drm/i915/lpe: Mark LPE audio runtime pm as "no callbacks"")
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

So according to that the alternative is to add a call to
pm_runtime_enable(). Seems like the sensible course of action is to
merely mark it as busy and not set it as active.

With the caveat of checking with CI + SND_X86 :)
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris


More information about the Alsa-devel mailing list