[alsa-devel] [PATCH v5 1/1] ALSA: hda - add runtime PM support

Takashi Iwai tiwai at suse.de
Thu Aug 23 12:00:53 CEST 2012


At Thu, 23 Aug 2012 17:32:30 +0800,
mengdong.lin at intel.com wrote:
> 
> From: Mengdong Lin <mengdong.lin at intel.com>
> 
> Runtime PM can bring more power saving:
> - When the controller is suspended, its parent device will also have a chance
>   to suspend.
> - PCI subsystem can choose the lowest power state the controller can signal
>   wake up from. This state can be D3cold on platforms with ACPI PM support.
> And runtime PM can provide a gerneral sysfs interface for a system policy
> manager.
> 
> Runtime PM support is based on current HDA power saving implementation. The user
> can enable runtime PM on platfroms that provide acceptable latency on transition
> from D3 to D0.
> 
> Details:
> - When both power saving and runtime PM are enabled:
>   -- If a codec supports 'stop-clock' in D3, it will request suspending the
>      controller after it enters D3 and request resuming the controller before
>      back to D0. Thus the controller will be suspended only when all codecs are
>      suspended and support stop-clock in D3.
>   -- User IO operations and HW wakeup signal can resume the controller back to
>      D0.
> - If runtime PM is disabled, power saving just works as before.
> - If power saving is disabled, the controller won't be suspended because the
>   power usage counter can never be 0.
> 
> More about 'stop-clock' feature:
> If a codec can support targeted pass-through operations in D3 state when there
> is no BCLK present on the link, it will set CLKSTOP flag in the supported power
> states and report PS-ClkStopOk when entering D3 state. Please refer to HDA spec
> section 7.3.3.10 Power state and 7.3.4.12 Supported Power State.
> 
> Signed-off-by: Mengdong Lin <mengdong.lin at intel.com>

Thanks, the patch looks almost good, but it gives a build error when
CONFIG_PM_RUNTIME=n.

sound/pci/hda/hda_intel.c: In function ‘azx_interrupt’:
sound/pci/hda/hda_intel.c:1292:26: error: ‘struct dev_pm_info’ has no member named ‘runtime_status’
sound/pci/hda/hda_intel.c: At top level:
sound/pci/hda/hda_intel.c:2522:12: warning: ‘azx_runtime_suspend’ defined but not used [-Wunused-function]
sound/pci/hda/hda_intel.c:2535:12: warning: ‘azx_runtime_resume’ defined but not used [-Wunused-function]


Takashi


More information about the Alsa-devel mailing list