Re: [RESEND PATCH] ASoC: soc-compress: Inherit atomicity from DAI link for Compress FE

From: Pierre-Louis Bossart
Date: Fri Mar 24 2023 - 09:37:15 EST




On 3/24/23 07:40, Daniel Baluta wrote:
> From: Daniel Baluta <daniel.baluta@xxxxxxx>
>
> After commit bbf7d3b1c4f40 ("ASoC: soc-pcm: align BE 'atomicity' with
> that of the FE") BE and FE atomicity must match.
>
> In the case of Compress PCM there is a mismatch in atomicity between FE
> and BE and we get errors like this:
>
> [ 36.434566] sai1-wm8960-hifi: dpcm_be_connect: FE is atomic but BE
> is nonatomic, invalid configuration
> [ 36.444278] PCM Deep Buffer: ASoC: can't connect SAI1.OUT
>
> In order to fix this we must inherit the atomicity from DAI link
> associated with current PCM Compress FE.
>
> Fixes: bbf7d3b1c4f4 ("ASoC: soc-pcm: align BE 'atomicity' with that of the FE")
> Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxx>

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>

> ---
> sound/soc/soc-compress.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c
> index e7aa6f360cab..d649b0cf4744 100644
> --- a/sound/soc/soc-compress.c
> +++ b/sound/soc/soc-compress.c
> @@ -622,6 +622,9 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
> return ret;
> }
>
> + /* inherit atomicity from DAI link */
> + be_pcm->nonatomic = rtd->dai_link->nonatomic;
> +
> rtd->pcm = be_pcm;
> rtd->fe_compr = 1;
> if (rtd->dai_link->dpcm_playback)