diff options
author | Mark Brown <broonie@kernel.org> | 2023-06-13 19:16:51 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2023-06-13 19:16:51 +0300 |
commit | e8181a895b05b264883288c4043ff83f893b56b0 (patch) | |
tree | bfa78edcc216eee862f39267efaf24dc01d3a527 /include/sound | |
parent | 1012bfdd2f1f5a239d83b316177ff645b65c26d7 (diff) | |
parent | 0281b02e1913a9443ce891dcc13613829e4dc3c5 (diff) | |
download | linux-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.h | 6 |
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 |