diff options
-rw-r--r-- | Documentation/sound/soc/dapm.rst | 18 | ||||
-rw-r--r-- | include/sound/soc-dapm.h | 7 | ||||
-rw-r--r-- | include/uapi/sound/asoc.h | 10 | ||||
-rw-r--r-- | sound/soc/soc-topology.c | 8 |
4 files changed, 42 insertions, 1 deletions
diff --git a/Documentation/sound/soc/dapm.rst b/Documentation/sound/soc/dapm.rst index a27f42befa4d..8e44107933ab 100644 --- a/Documentation/sound/soc/dapm.rst +++ b/Documentation/sound/soc/dapm.rst | |||
@@ -105,6 +105,24 @@ Pre | |||
105 | Special PRE widget (exec before all others) | 105 | Special PRE widget (exec before all others) |
106 | Post | 106 | Post |
107 | Special POST widget (exec after all others) | 107 | Special POST widget (exec after all others) |
108 | Buffer | ||
109 | Inter widget audio data buffer within a DSP. | ||
110 | Scheduler | ||
111 | DSP internal scheduler that schedules component/pipeline processing | ||
112 | work. | ||
113 | Effect | ||
114 | Widget that performs an audio processing effect. | ||
115 | SRC | ||
116 | Sample Rate Converter within DSP or CODEC | ||
117 | ASRC | ||
118 | Asynchronous Sample Rate Converter within DSP or CODEC | ||
119 | Encoder | ||
120 | Widget that encodes audio data from one format (usually PCM) to another | ||
121 | usually more compressed format. | ||
122 | Decoder | ||
123 | Widget that decodes audio data from a compressed format to an | ||
124 | uncompressed format like PCM. | ||
125 | |||
108 | 126 | ||
109 | (Widgets are defined in include/sound/soc-dapm.h) | 127 | (Widgets are defined in include/sound/soc-dapm.h) |
110 | 128 | ||
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h index a466f4bdc835..344b96c206a3 100644 --- a/include/sound/soc-dapm.h +++ b/include/sound/soc-dapm.h | |||
@@ -510,6 +510,13 @@ enum snd_soc_dapm_type { | |||
510 | snd_soc_dapm_dai_out, | 510 | snd_soc_dapm_dai_out, |
511 | snd_soc_dapm_dai_link, /* link between two DAI structures */ | 511 | snd_soc_dapm_dai_link, /* link between two DAI structures */ |
512 | snd_soc_dapm_kcontrol, /* Auto-disabled kcontrol */ | 512 | snd_soc_dapm_kcontrol, /* Auto-disabled kcontrol */ |
513 | snd_soc_dapm_buffer, /* DSP/CODEC internal buffer */ | ||
514 | snd_soc_dapm_scheduler, /* DSP/CODEC internal scheduler */ | ||
515 | snd_soc_dapm_effect, /* DSP/CODEC effect component */ | ||
516 | snd_soc_dapm_src, /* DSP/CODEC SRC component */ | ||
517 | snd_soc_dapm_asrc, /* DSP/CODEC ASRC component */ | ||
518 | snd_soc_dapm_encoder, /* FW/SW audio encoder component */ | ||
519 | snd_soc_dapm_decoder, /* FW/SW audio decoder component */ | ||
513 | }; | 520 | }; |
514 | 521 | ||
515 | enum snd_soc_dapm_subclass { | 522 | enum snd_soc_dapm_subclass { |
diff --git a/include/uapi/sound/asoc.h b/include/uapi/sound/asoc.h index 6702533c8bd8..78014ec56357 100644 --- a/include/uapi/sound/asoc.h +++ b/include/uapi/sound/asoc.h | |||
@@ -73,7 +73,15 @@ | |||
73 | #define SND_SOC_TPLG_DAPM_DAI_IN 13 | 73 | #define SND_SOC_TPLG_DAPM_DAI_IN 13 |
74 | #define SND_SOC_TPLG_DAPM_DAI_OUT 14 | 74 | #define SND_SOC_TPLG_DAPM_DAI_OUT 14 |
75 | #define SND_SOC_TPLG_DAPM_DAI_LINK 15 | 75 | #define SND_SOC_TPLG_DAPM_DAI_LINK 15 |
76 | #define SND_SOC_TPLG_DAPM_LAST SND_SOC_TPLG_DAPM_DAI_LINK | 76 | #define SND_SOC_TPLG_DAPM_BUFFER 16 |
77 | #define SND_SOC_TPLG_DAPM_SCHEDULER 17 | ||
78 | #define SND_SOC_TPLG_DAPM_EFFECT 18 | ||
79 | #define SND_SOC_TPLG_DAPM_SIGGEN 19 | ||
80 | #define SND_SOC_TPLG_DAPM_SRC 20 | ||
81 | #define SND_SOC_TPLG_DAPM_ASRC 21 | ||
82 | #define SND_SOC_TPLG_DAPM_ENCODER 22 | ||
83 | #define SND_SOC_TPLG_DAPM_DECODER 23 | ||
84 | #define SND_SOC_TPLG_DAPM_LAST SND_SOC_TPLG_DAPM_DECODER | ||
77 | 85 | ||
78 | /* Header magic number and string sizes */ | 86 | /* Header magic number and string sizes */ |
79 | #define SND_SOC_TPLG_MAGIC 0x41536F43 /* ASoC */ | 87 | #define SND_SOC_TPLG_MAGIC 0x41536F43 /* ASoC */ |
diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c index 002772e3ba2c..dd3a391476ae 100644 --- a/sound/soc/soc-topology.c +++ b/sound/soc/soc-topology.c | |||
@@ -242,6 +242,14 @@ static const struct soc_tplg_map dapm_map[] = { | |||
242 | {SND_SOC_TPLG_DAPM_DAI_IN, snd_soc_dapm_dai_in}, | 242 | {SND_SOC_TPLG_DAPM_DAI_IN, snd_soc_dapm_dai_in}, |
243 | {SND_SOC_TPLG_DAPM_DAI_OUT, snd_soc_dapm_dai_out}, | 243 | {SND_SOC_TPLG_DAPM_DAI_OUT, snd_soc_dapm_dai_out}, |
244 | {SND_SOC_TPLG_DAPM_DAI_LINK, snd_soc_dapm_dai_link}, | 244 | {SND_SOC_TPLG_DAPM_DAI_LINK, snd_soc_dapm_dai_link}, |
245 | {SND_SOC_TPLG_DAPM_BUFFER, snd_soc_dapm_buffer}, | ||
246 | {SND_SOC_TPLG_DAPM_SCHEDULER, snd_soc_dapm_scheduler}, | ||
247 | {SND_SOC_TPLG_DAPM_EFFECT, snd_soc_dapm_effect}, | ||
248 | {SND_SOC_TPLG_DAPM_SIGGEN, snd_soc_dapm_siggen}, | ||
249 | {SND_SOC_TPLG_DAPM_SRC, snd_soc_dapm_src}, | ||
250 | {SND_SOC_TPLG_DAPM_ASRC, snd_soc_dapm_asrc}, | ||
251 | {SND_SOC_TPLG_DAPM_ENCODER, snd_soc_dapm_encoder}, | ||
252 | {SND_SOC_TPLG_DAPM_DECODER, snd_soc_dapm_decoder}, | ||
245 | }; | 253 | }; |
246 | 254 | ||
247 | static int tplc_chan_get_reg(struct soc_tplg *tplg, | 255 | static int tplc_chan_get_reg(struct soc_tplg *tplg, |