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

Takashi Iwai tiwai at suse.de
Thu Aug 23 14:24:34 CEST 2012


At Thu, 23 Aug 2012 12:00:53 +0200,
Takashi Iwai wrote:
> 
> 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]

Never mind, I fixed this by myself and applied the patch.


thanks,

Takashi


More information about the Alsa-devel mailing list