Lines Matching refs:dai

267 				  struct snd_soc_dai *dai)
269 struct device *dev = dai->dev;
270 struct tegra_admaif *admaif = snd_soc_dai_get_drvdata(dai);
304 reg = CH_TX_REG(TEGRA_ADMAIF_CH_ACIF_TX_CTRL, dai->id);
307 reg = CH_RX_REG(TEGRA_ADMAIF_CH_ACIF_RX_CTRL, dai->id);
310 cif_conf.mono_conv = admaif->mono_to_stereo[path][dai->id];
311 cif_conf.stereo_conv = admaif->stereo_to_mono[path][dai->id];
320 static int tegra_admaif_start(struct snd_soc_dai *dai, int direction)
322 struct tegra_admaif *admaif = snd_soc_dai_get_drvdata(dai);
329 reg = CH_TX_REG(TEGRA_ADMAIF_TX_ENABLE, dai->id);
334 reg = CH_RX_REG(TEGRA_ADMAIF_RX_ENABLE, dai->id);
345 static int tegra_admaif_stop(struct snd_soc_dai *dai, int direction)
347 struct tegra_admaif *admaif = snd_soc_dai_get_drvdata(dai);
357 enable_reg = CH_TX_REG(TEGRA_ADMAIF_TX_ENABLE, dai->id);
358 status_reg = CH_TX_REG(TEGRA_ADMAIF_TX_STATUS, dai->id);
359 reset_reg = CH_TX_REG(TEGRA_ADMAIF_TX_SOFT_RESET, dai->id);
365 enable_reg = CH_RX_REG(TEGRA_ADMAIF_RX_ENABLE, dai->id);
366 status_reg = CH_RX_REG(TEGRA_ADMAIF_RX_STATUS, dai->id);
367 reset_reg = CH_RX_REG(TEGRA_ADMAIF_RX_SOFT_RESET, dai->id);
380 dev_warn(dai->dev, "timeout: failed to disable ADMAIF%d_%s\n",
381 dai->id + 1, dir_name);
391 dev_err(dai->dev, "timeout: SW reset failed for ADMAIF%d_%s\n",
392 dai->id + 1, dir_name);
400 struct snd_soc_dai *dai)
412 return tegra_admaif_start(dai, substream->stream);
416 return tegra_admaif_stop(dai, substream->stream);
538 static int tegra_admaif_dai_probe(struct snd_soc_dai *dai)
540 struct tegra_admaif *admaif = snd_soc_dai_get_drvdata(dai);
542 snd_soc_dai_init_dma_data(dai, &admaif->playback_dma_data[dai->id],
543 &admaif->capture_dma_data[dai->id]);