Lines Matching full:dai
267 struct snd_soc_dai *dai) in tegra_admaif_hw_params() argument
269 struct device *dev = dai->dev; in tegra_admaif_hw_params()
270 struct tegra_admaif *admaif = snd_soc_dai_get_drvdata(dai); in tegra_admaif_hw_params()
304 reg = CH_TX_REG(TEGRA_ADMAIF_CH_ACIF_TX_CTRL, dai->id); in tegra_admaif_hw_params()
307 reg = CH_RX_REG(TEGRA_ADMAIF_CH_ACIF_RX_CTRL, dai->id); in tegra_admaif_hw_params()
310 cif_conf.mono_conv = admaif->mono_to_stereo[path][dai->id]; in tegra_admaif_hw_params()
311 cif_conf.stereo_conv = admaif->stereo_to_mono[path][dai->id]; in tegra_admaif_hw_params()
320 static int tegra_admaif_start(struct snd_soc_dai *dai, int direction) in tegra_admaif_start() argument
322 struct tegra_admaif *admaif = snd_soc_dai_get_drvdata(dai); in tegra_admaif_start()
329 reg = CH_TX_REG(TEGRA_ADMAIF_TX_ENABLE, dai->id); in tegra_admaif_start()
334 reg = CH_RX_REG(TEGRA_ADMAIF_RX_ENABLE, dai->id); in tegra_admaif_start()
345 static int tegra_admaif_stop(struct snd_soc_dai *dai, int direction) in tegra_admaif_stop() argument
347 struct tegra_admaif *admaif = snd_soc_dai_get_drvdata(dai); in tegra_admaif_stop()
357 enable_reg = CH_TX_REG(TEGRA_ADMAIF_TX_ENABLE, dai->id); in tegra_admaif_stop()
358 status_reg = CH_TX_REG(TEGRA_ADMAIF_TX_STATUS, dai->id); in tegra_admaif_stop()
359 reset_reg = CH_TX_REG(TEGRA_ADMAIF_TX_SOFT_RESET, dai->id); in tegra_admaif_stop()
365 enable_reg = CH_RX_REG(TEGRA_ADMAIF_RX_ENABLE, dai->id); in tegra_admaif_stop()
366 status_reg = CH_RX_REG(TEGRA_ADMAIF_RX_STATUS, dai->id); in tegra_admaif_stop()
367 reset_reg = CH_RX_REG(TEGRA_ADMAIF_RX_SOFT_RESET, dai->id); in tegra_admaif_stop()
380 dev_warn(dai->dev, "timeout: failed to disable ADMAIF%d_%s\n", in tegra_admaif_stop()
381 dai->id + 1, dir_name); in tegra_admaif_stop()
391 dev_err(dai->dev, "timeout: SW reset failed for ADMAIF%d_%s\n", in tegra_admaif_stop()
392 dai->id + 1, dir_name); in tegra_admaif_stop()
400 struct snd_soc_dai *dai) in tegra_admaif_trigger() argument
412 return tegra_admaif_start(dai, substream->stream); in tegra_admaif_trigger()
416 return tegra_admaif_stop(dai, substream->stream); in tegra_admaif_trigger()
467 static int tegra_admaif_dai_probe(struct snd_soc_dai *dai) in tegra_admaif_dai_probe() argument
469 struct tegra_admaif *admaif = snd_soc_dai_get_drvdata(dai); in tegra_admaif_dai_probe()
471 dai->capture_dma_data = &admaif->capture_dma_data[dai->id]; in tegra_admaif_dai_probe()
472 dai->playback_dma_data = &admaif->playback_dma_data[dai->id]; in tegra_admaif_dai_probe()
477 #define DAI(dai_name) \ macro
503 DAI("ADMAIF1"),
504 DAI("ADMAIF2"),
505 DAI("ADMAIF3"),
506 DAI("ADMAIF4"),
507 DAI("ADMAIF5"),
508 DAI("ADMAIF6"),
509 DAI("ADMAIF7"),
510 DAI("ADMAIF8"),
511 DAI("ADMAIF9"),
512 DAI("ADMAIF10"),
516 DAI("ADMAIF1"),
517 DAI("ADMAIF2"),
518 DAI("ADMAIF3"),
519 DAI("ADMAIF4"),
520 DAI("ADMAIF5"),
521 DAI("ADMAIF6"),
522 DAI("ADMAIF7"),
523 DAI("ADMAIF8"),
524 DAI("ADMAIF9"),
525 DAI("ADMAIF10"),
526 DAI("ADMAIF11"),
527 DAI("ADMAIF12"),
528 DAI("ADMAIF13"),
529 DAI("ADMAIF14"),
530 DAI("ADMAIF15"),
531 DAI("ADMAIF16"),
532 DAI("ADMAIF17"),
533 DAI("ADMAIF18"),
534 DAI("ADMAIF19"),
535 DAI("ADMAIF20"),