Keeping the codec running at all times

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Thu May 7 18:35:00 CEST 2020


>> If your codec exposes a clock object then you could have e.g. a board or
>> machine driver configure the clock
>> (clk_get/clk_set_rate/clk_prepare_enable) and leave it on regardless of
>> the streaming usages. You would still need to make sure that the clock
>> rates are compatible with the hw_params when streaming does happen.
>> that's what e.g. was done for Intel to make sure the MCLK, BCLK and
>> FSYNC could be enabled even when the DSP was idle.
> 
> Which driver is that?

sound/soc/intel/skylake/skl-ssp-clk.c

and its users in

sound/soc/intel/boards/

kbl_rt5663_rt5514_max98927.c
kbl_rt5663_max98927.c

these examples are more to turn the clock on to meet codec requirements, 
but there were other cases that weren't upstreamed where the clocks were 
turned on at boot time as you described it.

The code is probably rather obscure but the idea itself holds water. As 
long as the clock is used the provider remains active - even if no 
streaming takes place.

Hope this helps
-Pierre




More information about the Alsa-devel mailing list