Lines Matching full:dai
3 * linux/sound/soc-dai.h -- ALSA SoC Layer
7 * Digital Audio Interface (DAI) API.
22 * DAI hardware audio formats.
40 * DAI Clock gating.
42 * DAI bit clocks can be gated (disabled) when the DAI is not
49 * DAI hardware signal polarity.
51 * Specifies whether the DAI can also support inverted clocks for the specified
75 * DAI hardware clock masters.
114 int snd_soc_dai_set_sysclk(struct snd_soc_dai *dai, int clk_id,
117 int snd_soc_dai_set_clkdiv(struct snd_soc_dai *dai,
120 int snd_soc_dai_set_pll(struct snd_soc_dai *dai,
123 int snd_soc_dai_set_bclk_ratio(struct snd_soc_dai *dai, unsigned int ratio);
126 int snd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt);
128 int snd_soc_dai_set_tdm_slot(struct snd_soc_dai *dai,
131 int snd_soc_dai_set_channel_map(struct snd_soc_dai *dai,
135 int snd_soc_dai_set_tristate(struct snd_soc_dai *dai, int tristate);
138 int snd_soc_dai_digital_mute(struct snd_soc_dai *dai, int mute,
142 int snd_soc_dai_get_channel_map(struct snd_soc_dai *dai,
146 int snd_soc_dai_is_dummy(struct snd_soc_dai *dai);
148 int snd_soc_dai_hw_params(struct snd_soc_dai *dai,
151 void snd_soc_dai_hw_free(struct snd_soc_dai *dai,
153 int snd_soc_dai_startup(struct snd_soc_dai *dai,
155 void snd_soc_dai_shutdown(struct snd_soc_dai *dai,
157 snd_pcm_sframes_t snd_soc_dai_delay(struct snd_soc_dai *dai,
159 void snd_soc_dai_suspend(struct snd_soc_dai *dai);
160 void snd_soc_dai_resume(struct snd_soc_dai *dai);
161 int snd_soc_dai_compress_new(struct snd_soc_dai *dai,
163 bool snd_soc_dai_stream_valid(struct snd_soc_dai *dai, int stream);
165 void snd_soc_dai_action(struct snd_soc_dai *dai,
167 static inline void snd_soc_dai_activate(struct snd_soc_dai *dai, in snd_soc_dai_activate() argument
170 snd_soc_dai_action(dai, stream, 1); in snd_soc_dai_activate()
172 static inline void snd_soc_dai_deactivate(struct snd_soc_dai *dai, in snd_soc_dai_deactivate() argument
175 snd_soc_dai_action(dai, stream, -1); in snd_soc_dai_deactivate()
177 int snd_soc_dai_active(struct snd_soc_dai *dai);
187 int snd_soc_dai_compr_startup(struct snd_soc_dai *dai,
189 void snd_soc_dai_compr_shutdown(struct snd_soc_dai *dai,
191 int snd_soc_dai_compr_trigger(struct snd_soc_dai *dai,
193 int snd_soc_dai_compr_set_params(struct snd_soc_dai *dai,
196 int snd_soc_dai_compr_get_params(struct snd_soc_dai *dai,
199 int snd_soc_dai_compr_ack(struct snd_soc_dai *dai,
202 int snd_soc_dai_compr_pointer(struct snd_soc_dai *dai,
205 int snd_soc_dai_compr_set_metadata(struct snd_soc_dai *dai,
208 int snd_soc_dai_compr_get_metadata(struct snd_soc_dai *dai,
214 * DAI clocking configuration, all optional.
217 int (*set_sysclk)(struct snd_soc_dai *dai,
219 int (*set_pll)(struct snd_soc_dai *dai, int pll_id, int source,
221 int (*set_clkdiv)(struct snd_soc_dai *dai, int div_id, int div);
222 int (*set_bclk_ratio)(struct snd_soc_dai *dai, unsigned int ratio);
225 * DAI format configuration
228 int (*set_fmt)(struct snd_soc_dai *dai, unsigned int fmt);
231 int (*set_tdm_slot)(struct snd_soc_dai *dai,
234 int (*set_channel_map)(struct snd_soc_dai *dai,
237 int (*get_channel_map)(struct snd_soc_dai *dai,
240 int (*set_tristate)(struct snd_soc_dai *dai, int tristate);
242 int (*set_sdw_stream)(struct snd_soc_dai *dai,
244 void *(*get_sdw_stream)(struct snd_soc_dai *dai, int direction);
247 * DAI digital mute - optional.
250 int (*mute_stream)(struct snd_soc_dai *dai, int mute, int stream);
268 * compatible with the current state of the dai. For example this
315 * Describes the Digital Audio Interface in terms of its ALSA, DAI and AC97
317 * structure for every DAI they have.
323 /* DAI description */
329 /* DAI driver callbacks */
330 int (*probe)(struct snd_soc_dai *dai);
331 int (*remove)(struct snd_soc_dai *dai);
332 /* compress dai */
336 struct snd_soc_dai *dai);
342 /* DAI capabilities */
357 * Holds runtime data for a DAI.
367 /* DAI runtime info */
373 /* DAI DMA data */
399 snd_soc_dai_get_pcm_stream(const struct snd_soc_dai *dai, int stream) in snd_soc_dai_get_pcm_stream() argument
402 &dai->driver->playback : &dai->driver->capture; in snd_soc_dai_get_pcm_stream()
407 struct snd_soc_dai *dai, int stream) in snd_soc_dai_get_widget() argument
410 dai->playback_widget : dai->capture_widget; in snd_soc_dai_get_widget()
413 static inline void *snd_soc_dai_get_dma_data(const struct snd_soc_dai *dai, in snd_soc_dai_get_dma_data() argument
417 dai->playback_dma_data : dai->capture_dma_data; in snd_soc_dai_get_dma_data()
420 static inline void snd_soc_dai_set_dma_data(struct snd_soc_dai *dai, in snd_soc_dai_set_dma_data() argument
425 dai->playback_dma_data = data; in snd_soc_dai_set_dma_data()
427 dai->capture_dma_data = data; in snd_soc_dai_set_dma_data()
430 static inline void snd_soc_dai_init_dma_data(struct snd_soc_dai *dai, in snd_soc_dai_init_dma_data() argument
433 dai->playback_dma_data = playback; in snd_soc_dai_init_dma_data()
434 dai->capture_dma_data = capture; in snd_soc_dai_init_dma_data()
437 static inline void snd_soc_dai_set_drvdata(struct snd_soc_dai *dai, in snd_soc_dai_set_drvdata() argument
440 dev_set_drvdata(dai->dev, data); in snd_soc_dai_set_drvdata()
443 static inline void *snd_soc_dai_get_drvdata(struct snd_soc_dai *dai) in snd_soc_dai_get_drvdata() argument
445 return dev_get_drvdata(dai->dev); in snd_soc_dai_get_drvdata()
449 * snd_soc_dai_set_sdw_stream() - Configures a DAI for SDW stream operation
450 * @dai: DAI
460 static inline int snd_soc_dai_set_sdw_stream(struct snd_soc_dai *dai, in snd_soc_dai_set_sdw_stream() argument
463 if (dai->driver->ops->set_sdw_stream) in snd_soc_dai_set_sdw_stream()
464 return dai->driver->ops->set_sdw_stream(dai, stream, direction); in snd_soc_dai_set_sdw_stream()
470 * snd_soc_dai_get_sdw_stream() - Retrieves SDW stream from DAI
471 * @dai: DAI
480 static inline void *snd_soc_dai_get_sdw_stream(struct snd_soc_dai *dai, in snd_soc_dai_get_sdw_stream() argument
483 if (dai->driver->ops->get_sdw_stream) in snd_soc_dai_get_sdw_stream()
484 return dai->driver->ops->get_sdw_stream(dai, direction); in snd_soc_dai_get_sdw_stream()
490 snd_soc_dai_stream_active(struct snd_soc_dai *dai, int stream) in snd_soc_dai_stream_active() argument
492 return dai->stream_active[stream]; in snd_soc_dai_stream_active()