In message: [PATCH] ASoC: fsl_esai: Replace the dpcm_lock with FE stream lock
on 20/05/2023 Kevin Hao wrote:

> From: Kevin Hao <kexin....@windriver.com>
> 
> In commit 703ebcf64aac ("ASoC: soc-pcm: Fix and cleanup DPCM locking"),
> the dpcm_lock was dropped. So we need to use the FE stream lock here.
> 
> Signed-off-by: Kevin Hao <kexin....@windriver.com>
> ---
> Hi Bruce,
> 
> Could you help me merge this into the following two branches?
>   v5.15/standard/nxp-sdk-5.15/nxp-soc
>   v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-soc

merged.

Bruce

> 
>  sound/soc/fsl/fsl_esai_mix.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/sound/soc/fsl/fsl_esai_mix.c b/sound/soc/fsl/fsl_esai_mix.c
> index e5c2c053f9d3..b7aec051e05f 100644
> --- a/sound/soc/fsl/fsl_esai_mix.c
> +++ b/sound/soc/fsl/fsl_esai_mix.c
> @@ -148,7 +148,7 @@ static void fsl_esai_mix_buffer_from_fe_tx(struct 
> snd_pcm_substream *substream,
>       }
>  
>       /* Get the active client */
> -     spin_lock_irqsave(&rtd->card->dpcm_lock, flags);
> +     snd_pcm_stream_lock_irq(snd_soc_dpcm_get_substream(rtd, 
> substream->stream));
>       for_each_dpcm_fe(rtd, substream->stream, dpcm) {
>               if (dpcm->be != rtd)
>                       continue;
> @@ -160,7 +160,7 @@ static void fsl_esai_mix_buffer_from_fe_tx(struct 
> snd_pcm_substream *substream,
>               if (i >= MAX_CLIENT_NUM)
>                       break;
>       }
> -     spin_unlock_irqrestore(&rtd->card->dpcm_lock, flags);
> +     snd_pcm_stream_unlock_irq(snd_soc_dpcm_get_substream(rtd, 
> substream->stream));
>  
>       avail = fsl_esai_tx_avail(mix);
>       if (avail >= mix->buffer_bytes && elapse)
> @@ -249,7 +249,7 @@ static void fsl_esai_split_buffer_from_be_rx(struct 
> snd_pcm_substream *substream
>               mix->client[j] = NULL;
>       }
>       /* Get the active client */
> -     spin_lock_irqsave(&rtd->card->dpcm_lock, flags);
> +     snd_pcm_stream_lock_irq(snd_soc_dpcm_get_substream(rtd, 
> substream->stream));
>       for_each_dpcm_fe(rtd, substream->stream, dpcm) {
>               if (dpcm->be != rtd)
>                       continue;
> @@ -261,7 +261,7 @@ static void fsl_esai_split_buffer_from_be_rx(struct 
> snd_pcm_substream *substream
>               if (i >= MAX_CLIENT_NUM)
>                       break;
>       }
> -     spin_unlock_irqrestore(&rtd->card->dpcm_lock, flags);
> +     snd_pcm_stream_unlock_irq(snd_soc_dpcm_get_substream(rtd, 
> substream->stream));
>  
>       avail = fsl_esai_rx_avail(mix);
>       if (avail >= mix->buffer_bytes && elapse)
> -- 
> 2.39.2
> 
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#12635): 
https://lists.yoctoproject.org/g/linux-yocto/message/12635
Mute This Topic: https://lists.yoctoproject.org/mt/99022855/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: 
https://lists.yoctoproject.org/g/linux-yocto/leave/6687884/21656/624485779/xyzzy
 [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to