summaryrefslogtreecommitdiffstats
path: root/include/sound/soc-dapm.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sound/soc-dapm.h')
-rw-r--r--include/sound/soc-dapm.h27
1 files changed, 19 insertions, 8 deletions
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h
index bd8163f151cb..c00a0b8ade08 100644
--- a/include/sound/soc-dapm.h
+++ b/include/sound/soc-dapm.h
@@ -214,21 +214,21 @@ struct device;
214 .event_flags = SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD} 214 .event_flags = SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD}
215 215
216/* stream domain */ 216/* stream domain */
217#define SND_SOC_DAPM_AIF_IN(wname, stname, wslot, wreg, wshift, winvert) \ 217#define SND_SOC_DAPM_AIF_IN(wname, stname, wchan, wreg, wshift, winvert) \
218{ .id = snd_soc_dapm_aif_in, .name = wname, .sname = stname, \ 218{ .id = snd_soc_dapm_aif_in, .name = wname, .sname = stname, \
219 SND_SOC_DAPM_INIT_REG_VAL(wreg, wshift, winvert), } 219 .channel = wchan, SND_SOC_DAPM_INIT_REG_VAL(wreg, wshift, winvert), }
220#define SND_SOC_DAPM_AIF_IN_E(wname, stname, wslot, wreg, wshift, winvert, \ 220#define SND_SOC_DAPM_AIF_IN_E(wname, stname, wchan, wreg, wshift, winvert, \
221 wevent, wflags) \ 221 wevent, wflags) \
222{ .id = snd_soc_dapm_aif_in, .name = wname, .sname = stname, \ 222{ .id = snd_soc_dapm_aif_in, .name = wname, .sname = stname, \
223 SND_SOC_DAPM_INIT_REG_VAL(wreg, wshift, winvert), \ 223 .channel = wchan, SND_SOC_DAPM_INIT_REG_VAL(wreg, wshift, winvert), \
224 .event = wevent, .event_flags = wflags } 224 .event = wevent, .event_flags = wflags }
225#define SND_SOC_DAPM_AIF_OUT(wname, stname, wslot, wreg, wshift, winvert) \ 225#define SND_SOC_DAPM_AIF_OUT(wname, stname, wchan, wreg, wshift, winvert) \
226{ .id = snd_soc_dapm_aif_out, .name = wname, .sname = stname, \ 226{ .id = snd_soc_dapm_aif_out, .name = wname, .sname = stname, \
227 SND_SOC_DAPM_INIT_REG_VAL(wreg, wshift, winvert), } 227 .channel = wchan, SND_SOC_DAPM_INIT_REG_VAL(wreg, wshift, winvert), }
228#define SND_SOC_DAPM_AIF_OUT_E(wname, stname, wslot, wreg, wshift, winvert, \ 228#define SND_SOC_DAPM_AIF_OUT_E(wname, stname, wchan, wreg, wshift, winvert, \
229 wevent, wflags) \ 229 wevent, wflags) \
230{ .id = snd_soc_dapm_aif_out, .name = wname, .sname = stname, \ 230{ .id = snd_soc_dapm_aif_out, .name = wname, .sname = stname, \
231 SND_SOC_DAPM_INIT_REG_VAL(wreg, wshift, winvert), \ 231 .channel = wchan, SND_SOC_DAPM_INIT_REG_VAL(wreg, wshift, winvert), \
232 .event = wevent, .event_flags = wflags } 232 .event = wevent, .event_flags = wflags }
233#define SND_SOC_DAPM_DAC(wname, stname, wreg, wshift, winvert) \ 233#define SND_SOC_DAPM_DAC(wname, stname, wreg, wshift, winvert) \
234{ .id = snd_soc_dapm_dac, .name = wname, .sname = stname, \ 234{ .id = snd_soc_dapm_dac, .name = wname, .sname = stname, \
@@ -407,6 +407,10 @@ int snd_soc_dapm_new_dai_widgets(struct snd_soc_dapm_context *dapm,
407int snd_soc_dapm_link_dai_widgets(struct snd_soc_card *card); 407int snd_soc_dapm_link_dai_widgets(struct snd_soc_card *card);
408void snd_soc_dapm_connect_dai_link_widgets(struct snd_soc_card *card); 408void snd_soc_dapm_connect_dai_link_widgets(struct snd_soc_card *card);
409 409
410int snd_soc_dapm_update_dai(struct snd_pcm_substream *substream,
411 struct snd_pcm_hw_params *params,
412 struct snd_soc_dai *dai);
413
410/* dapm path setup */ 414/* dapm path setup */
411int snd_soc_dapm_new_widgets(struct snd_soc_card *card); 415int snd_soc_dapm_new_widgets(struct snd_soc_card *card);
412void snd_soc_dapm_free(struct snd_soc_dapm_context *dapm); 416void snd_soc_dapm_free(struct snd_soc_dapm_context *dapm);
@@ -519,6 +523,9 @@ enum snd_soc_dapm_type {
519 snd_soc_dapm_asrc, /* DSP/CODEC ASRC component */ 523 snd_soc_dapm_asrc, /* DSP/CODEC ASRC component */
520 snd_soc_dapm_encoder, /* FW/SW audio encoder component */ 524 snd_soc_dapm_encoder, /* FW/SW audio encoder component */
521 snd_soc_dapm_decoder, /* FW/SW audio decoder component */ 525 snd_soc_dapm_decoder, /* FW/SW audio decoder component */
526
527 /* Don't edit below this line */
528 SND_SOC_DAPM_TYPE_COUNT
522}; 529};
523 530
524enum snd_soc_dapm_subclass { 531enum snd_soc_dapm_subclass {
@@ -540,6 +547,8 @@ struct snd_soc_dapm_route {
540 /* Note: currently only supported for links where source is a supply */ 547 /* Note: currently only supported for links where source is a supply */
541 int (*connected)(struct snd_soc_dapm_widget *source, 548 int (*connected)(struct snd_soc_dapm_widget *source,
542 struct snd_soc_dapm_widget *sink); 549 struct snd_soc_dapm_widget *sink);
550
551 struct snd_soc_dobj dobj;
543}; 552};
544 553
545/* dapm audio path between two widgets */ 554/* dapm audio path between two widgets */
@@ -625,6 +634,8 @@ struct snd_soc_dapm_widget {
625 int endpoints[2]; 634 int endpoints[2];
626 635
627 struct clk *clk; 636 struct clk *clk;
637
638 int channel;
628}; 639};
629 640
630struct snd_soc_dapm_update { 641struct snd_soc_dapm_update {