summaryrefslogtreecommitdiff
path: root/include/sound
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2023-06-13 19:16:51 +0300
committerMark Brown <broonie@kernel.org>2023-06-13 19:16:51 +0300
commite8181a895b05b264883288c4043ff83f893b56b0 (patch)
treebfa78edcc216eee862f39267efaf24dc01d3a527 /include/sound
parent1012bfdd2f1f5a239d83b316177ff645b65c26d7 (diff)
parent0281b02e1913a9443ce891dcc13613829e4dc3c5 (diff)
downloadlinux-e8181a895b05b264883288c4043ff83f893b56b0.tar.xz
ASoC: add N cpus to M codecs dai link support
Merge series from Bard Liao <yung-chuan.liao@linux.intel.com>: Currently, ASoC supports dailinks with the following mappings: 1 cpu DAI to N codec DAIs N cpu DAIs to N codec DAIs But the mapping between N cpu DAIs and M codec DAIs is not supported. The reason is that we didn't have a mechanism to map cpu and codec DAIs This series suggests a new snd_soc_dai_link_codec_ch_map struct in struct snd_soc_dai_link{} which provides codec DAI to cpu DAI mapping information used to implement N cpu DAIs to M codec DAIs support. And add the codec_ch_maps to SOF SoundWire machine driver.
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/soc.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 10e4ea0664af..1e48a1135844 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -645,6 +645,11 @@ struct snd_soc_dai_link_component {
const char *dai_name;
};
+struct snd_soc_dai_link_codec_ch_map {
+ unsigned int connected_cpu_id;
+ unsigned int ch_mask;
+};
+
struct snd_soc_dai_link {
/* config - must be set by machine driver */
const char *name; /* Codec name */
@@ -673,6 +678,7 @@ struct snd_soc_dai_link {
struct snd_soc_dai_link_component *codecs;
unsigned int num_codecs;
+ struct snd_soc_dai_link_codec_ch_map *codec_ch_maps;
/*
* You MAY specify the link's platform/PCM/DMA driver, either by
* device name, or by DT/OF node, but not both. Some forms of link