]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ASoC: cs35l56: Split SoundWire DAI into separate playback and capture
authorRichard Fitzgerald <rf@opensource.cirrus.com>
Tue, 3 Dec 2024 10:45:33 +0000 (18:45 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 3 Dec 2024 12:36:27 +0000 (12:36 +0000)
commit5547e7ca122081d0603d2d7e0fe81a7c551f1e11
tree71d75baaac447099677135f82a87d09ba00f9f87
parent3787255c967ba64dc72adc3038f0cb81211bd297
ASoC: cs35l56: Split SoundWire DAI into separate playback and capture

This patch splits the SoundWire capture DP into a separate DAI so that
it can be independently routed and/or aggregated. It also makes
corresponding changes to the SOF SoundWire machine driver.

The playback and capture over SoundWire are separate DPs so don't have to
route to the same place. They could also be aggregated differently - for
example the playback DP could be aggregated with a playback-only DAI on
a codec.

No production device currently uses the capture path and their topologies
do not connect it. So there is no need to change the machine driver match
table entries for these. They will simply drop the unused capture DAI.

There is one hookup used for a non-production development board that was
added by commit 05fe62842804 ("ASoC: Intel: soc-acpi-intel-mtl-match: add
acpi match table for cdb35l56-eight-c") This is the only hookup using a
topology that connects the SoundWire DP for capture, so this hookup has
been changed to include an aggregated endpoint for the capture DAI.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://patch.msgid.link/20241203104534.56719-2-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/cs35l56.c
sound/soc/intel/common/soc-acpi-intel-mtl-match.c
sound/soc/sdw_utils/soc_sdw_utils.c