Question about hdac_ext_link ref_count management

Takashi Iwai tiwai at suse.de
Fri Jan 22 15:12:11 CET 2021


On Fri, 22 Jan 2021 00:23:53 +0100,
Ranjani Sridharan wrote:
> 
> Hi Takashi,
> 
> While exploring some power optimizations on Intel platforms, I noticed
> that the hdac_ext_link ref_count is incremented during codec probe
> in hdac_hda_codec_probe() and the ref_count is held until the codec
> device is removed. 
> 
> I was wondering if it would be possible to call the get/put for the
> hdac_ext_link in the codec runtime suspend/resume callbacks so that the
> link is powered up only when the link is in use. Are there any
> downsides to doing this? 

Wouldn't the  snd_hdac_ext_bus_link_power_up() / down() calls do the
runtime PM stuff?  Maybe we need to revisit those link power
management.  The ext stuff isn't well managed, I'm afraid.

The get() and put() are obviously for fully enabling and disabling the
device, hence it's not suitable for the runtime PM suspend/resume.
The power_up() / down() should be adjusted to fit with the runtime PM
call, if any.


thanks,

Takashi


More information about the Alsa-devel mailing list