[alsa-devel] [PATCH] ASoC: pcm: save fixed-up hw_params of BE

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Fri Apr 19 17:30:51 CEST 2019


On 4/18/19 8:53 PM, libin.yang at intel.com wrote:
> From: Libin Yang <libin.yang at intel.com>
> 
> Some drivers mandate setting up hw params after resuming from system sleep.
> Since, the hw_params ioctl is not invoked upon resuming, the fixed-up BE
> dai hw params should be saved so the driver can use it in its resume
> sequence.

This functionality is needed for SOF. We initially thought of 
implementing it as an SOF-specific patch but thought this could be 
useful to others, and don't see any negative impact.

Libin and Ranjani, can you clarify what 'some drivers' means. I took it 
as "SOF and other DPCM-based drivers without the 'INFO_RESUME' flag". 
Please confirm if I was correct, if we want feedback we should clarify 
who might benefit. Thanks!


> Signed-off-by: Libin Yang <libin.yang at intel.com>
> ---
>   sound/soc/soc-pcm.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
> index d212475..7469535 100644
> --- a/sound/soc/soc-pcm.c
> +++ b/sound/soc/soc-pcm.c
> @@ -2164,6 +2164,10 @@ int dpcm_be_dai_hw_params(struct snd_soc_pcm_runtime *fe, int stream)
>   			}
>   		}
>   
> +		/* copy the fixed-up hw params for BE dai */
> +		memcpy(&be->dpcm[stream].hw_params, &dpcm->hw_params,
> +		       sizeof(struct snd_pcm_hw_params));
> +
>   		/* only allow hw_params() if no connected FEs are running */
>   		if (!snd_soc_dpcm_can_be_params(fe, be, stream))
>   			continue;
> 



More information about the Alsa-devel mailing list