diff options
Diffstat (limited to 'include/sound/soc-dapm.h')
-rw-r--r-- | include/sound/soc-dapm.h | 27 |
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, | |||
407 | int snd_soc_dapm_link_dai_widgets(struct snd_soc_card *card); | 407 | int snd_soc_dapm_link_dai_widgets(struct snd_soc_card *card); |
408 | void snd_soc_dapm_connect_dai_link_widgets(struct snd_soc_card *card); | 408 | void snd_soc_dapm_connect_dai_link_widgets(struct snd_soc_card *card); |
409 | 409 | ||
410 | int 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 */ |
411 | int snd_soc_dapm_new_widgets(struct snd_soc_card *card); | 415 | int snd_soc_dapm_new_widgets(struct snd_soc_card *card); |
412 | void snd_soc_dapm_free(struct snd_soc_dapm_context *dapm); | 416 | void 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 | ||
524 | enum snd_soc_dapm_subclass { | 531 | enum 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 | ||
630 | struct snd_soc_dapm_update { | 641 | struct snd_soc_dapm_update { |