summaryrefslogtreecommitdiff
path: root/sound/soc
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2024-10-21 02:59:20 +0300
committerMark Brown <broonie@kernel.org>2024-10-23 15:02:01 +0300
commit0f77c88f0e3a3945c328bbb9a9e3c4b5826e8fe0 (patch)
treec84fea2afb12d567947895ace5ca0bc14dd78c90 /sound/soc
parentb6b8caf6470b9793ae4b66a95c742a1c97ece748 (diff)
downloadlinux-0f77c88f0e3a3945c328bbb9a9e3c4b5826e8fe0.tar.xz
ASoC: soc-compress: remove dpcm_xxx flags
dpcm_xxx flags are no longer needed. It converts dpcm_xxx flag to xxx_only if needed. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://patch.msgid.link/87a5ey9vhj.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/soc-compress.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c
index e692aa3b8b22..a0c55246f424 100644
--- a/sound/soc/soc-compress.c
+++ b/sound/soc/soc-compress.c
@@ -606,12 +606,19 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
return -ENOMEM;
if (rtd->dai_link->dynamic) {
+ int playback = 1;
+ int capture = 1;
+
+ if (rtd->dai_link->capture_only)
+ playback = 0;
+ if (rtd->dai_link->playback_only)
+ capture = 0;
+
snprintf(new_name, sizeof(new_name), "(%s)",
rtd->dai_link->stream_name);
ret = snd_pcm_new_internal(rtd->card->snd_card, new_name, num,
- rtd->dai_link->dpcm_playback,
- rtd->dai_link->dpcm_capture, &be_pcm);
+ playback, capture, &be_pcm);
if (ret < 0) {
dev_err(rtd->card->dev,
"Compress ASoC: can't create compressed for %s: %d\n",
@@ -624,9 +631,9 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
rtd->pcm = be_pcm;
rtd->fe_compr = 1;
- if (rtd->dai_link->dpcm_playback)
+ if (playback)
be_pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream->private_data = rtd;
- if (rtd->dai_link->dpcm_capture)
+ if (capture)
be_pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream->private_data = rtd;
memcpy(compr->ops, &soc_compr_dyn_ops, sizeof(soc_compr_dyn_ops));
} else {