In compress offload case we never set nonatomic flag on a new pcm. This triggers
below configuration error with DPCM on Qualcomm setup where dai_links are marked
as nonatomic.
"FE is atomic but BE is nonatomic, invalid configuration"
Fix this by Updating the pcm nonatomic flag correcly from the respective dai_link.
CC: Mohammad Rafi Shaik <[email protected]>
Signed-off-by: Srinivas Kandagatla <[email protected]>
---
sound/soc/soc-compress.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c
index 554c329ec87f..a8d70274cab8 100644
--- a/sound/soc/soc-compress.c
+++ b/sound/soc/soc-compress.c
@@ -615,6 +615,7 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
return ret;
}
+ be_pcm->nonatomic = rtd->dai_link->nonatomic;
rtd->pcm = be_pcm;
rtd->fe_compr = 1;
if (rtd->dai_link->dpcm_playback)
--
2.21.0
On 4/11/23 06:08, Srinivas Kandagatla wrote:
> In compress offload case we never set nonatomic flag on a new pcm. This triggers
> below configuration error with DPCM on Qualcomm setup where dai_links are marked
> as nonatomic.
>
> "FE is atomic but BE is nonatomic, invalid configuration"
>
> Fix this by Updating the pcm nonatomic flag correcly from the respective dai_link.
>
> CC: Mohammad Rafi Shaik <[email protected]>
> Signed-off-by: Srinivas Kandagatla <[email protected]>
> ---
> sound/soc/soc-compress.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c
> index 554c329ec87f..a8d70274cab8 100644
> --- a/sound/soc/soc-compress.c
> +++ b/sound/soc/soc-compress.c
> @@ -615,6 +615,7 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
> return ret;
> }
>
> + be_pcm->nonatomic = rtd->dai_link->nonatomic;
> rtd->pcm = be_pcm;
> rtd->fe_compr = 1;
> if (rtd->dai_link->dpcm_playback)
isn't this fixed already? Daniel Baluta sent a patch for this, already
applied by Mark:
https://lore.kernel.org/alsa-devel/[email protected]/
On 11/04/2023 14:25, Pierre-Louis Bossart wrote:
>
>
> On 4/11/23 06:08, Srinivas Kandagatla wrote:
>> In compress offload case we never set nonatomic flag on a new pcm. This triggers
>> below configuration error with DPCM on Qualcomm setup where dai_links are marked
>> as nonatomic.
>>
>> "FE is atomic but BE is nonatomic, invalid configuration"
>>
>> Fix this by Updating the pcm nonatomic flag correcly from the respective dai_link.
>>
>> CC: Mohammad Rafi Shaik <[email protected]>
>> Signed-off-by: Srinivas Kandagatla <[email protected]>
>> ---
>> sound/soc/soc-compress.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c
>> index 554c329ec87f..a8d70274cab8 100644
>> --- a/sound/soc/soc-compress.c
>> +++ b/sound/soc/soc-compress.c
>> @@ -615,6 +615,7 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
>> return ret;
>> }
>>
>> + be_pcm->nonatomic = rtd->dai_link->nonatomic;
>> rtd->pcm = be_pcm;
>> rtd->fe_compr = 1;
>> if (rtd->dai_link->dpcm_playback)
>
> isn't this fixed already? Daniel Baluta sent a patch for this, already
> applied by Mark:
>
Thanks for pointing this, Yes, It is fixed in sound-next.. my branch was
a week+ old so did not spot it :-)
--srini
> https://lore.kernel.org/alsa-devel/[email protected]/