On 5/29/2023 3:05 AM, Kuninori Morimoto wrote:
soc_get_playback_capture() is now handling DPCM and normal comprehensively
for playback/capture stream. We can use playback/capture_only flag
instead of using dpcm_playback/capture. This patch replace these.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
---
sound/soc/soc-topology-test.c | 2 --
sound/soc/soc-topology.c | 4 ++--
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/sound/soc/soc-topology-test.c b/sound/soc/soc-topology-test.c
index 2cd3540cec04..703a366e0abe 100644
--- a/sound/soc/soc-topology-test.c
+++ b/sound/soc/soc-topology-test.c
@@ -94,8 +94,6 @@ static struct snd_soc_dai_link kunit_dai_links[] = {
.nonatomic = 1,
.dynamic = 1,
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
- .dpcm_playback = 1,
- .dpcm_capture = 1,
SND_SOC_DAILINK_REG(dummy, dummy, platform),
},
};
diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c
index 47ab5cf99497..cc1f08f2f17b 100644
--- a/sound/soc/soc-topology.c
+++ b/sound/soc/soc-topology.c
@@ -1735,8 +1735,8 @@ static int soc_tplg_fe_link_create(struct soc_tplg *tplg,
/* enable DPCM */
link->dynamic = 1;
link->ignore_pmdown_time = 1;
- link->dpcm_playback = le32_to_cpu(pcm->playback);
- link->dpcm_capture = le32_to_cpu(pcm->capture);
+ link->playback_only = le32_to_cpu(pcm->playback) && !le32_to_cpu(pcm->capture);
+ link->capture_only = le32_to_cpu(pcm->capture) && !le32_to_cpu(pcm->playback);
if (pcm->flag_mask)
set_link_flags(link,
le32_to_cpu(pcm->flag_mask),
Hi,
patches look ok - I haven't run tests yet on v3, will try to get results
tomorrow. However looking at those assignments again, I wonder if we
really need them to be "negative" ones? Can't we just have some simple
fields like playback and capture (similar to dpcm_playback &
dpcm_capture from before). My concern is that having fields with "_only"
in name requires them to be handled properly - like in above code, while
having just "playback" and "capture" would be just simple assignment and
in the end a lot easier to understand. Is there any reason you chose to
use the *_only fields?
Thanks,
Amadeusz