[PATCH] ASoC: soc-compress: set pcm nonatomic flag from dai_link
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 quic_mohs@quicinc.com Signed-off-by: Srinivas Kandagatla srinivas.kandagatla@linaro.org --- 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)
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 quic_mohs@quicinc.com Signed-off-by: Srinivas Kandagatla srinivas.kandagatla@linaro.org
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; }
rtd->pcm = be_pcm; rtd->fe_compr = 1; if (rtd->dai_link->dpcm_playback)be_pcm->nonatomic = rtd->dai_link->nonatomic;
isn't this fixed already? Daniel Baluta sent a patch for this, already applied by Mark:
https://lore.kernel.org/alsa-devel/20230324124019.30826-1-daniel.baluta@oss....
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 quic_mohs@quicinc.com Signed-off-by: Srinivas Kandagatla srinivas.kandagatla@linaro.org
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; }
rtd->pcm = be_pcm; rtd->fe_compr = 1; if (rtd->dai_link->dpcm_playback)be_pcm->nonatomic = rtd->dai_link->nonatomic;
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/20230324124019.30826-1-daniel.baluta@oss....
participants (2)
-
Pierre-Louis Bossart
-
Srinivas Kandagatla