Lines Matching refs:dai

122 static int fsl_esai_divisor_cal(struct snd_soc_dai *dai, bool tx, u32 ratio,  in fsl_esai_divisor_cal()  argument
125 struct fsl_esai *esai_priv = snd_soc_dai_get_drvdata(dai); in fsl_esai_divisor_cal()
134 dev_err(dai->dev, "the ratio is out of range (2 ~ %d)\n", in fsl_esai_divisor_cal()
138 dev_err(dai->dev, "the raio must be even if using upper divider\n"); in fsl_esai_divisor_cal()
179 dev_err(dai->dev, "failed to calculate proper divisors\n"); in fsl_esai_divisor_cal()
210 static int fsl_esai_set_dai_sysclk(struct snd_soc_dai *dai, int clk_id, in fsl_esai_set_dai_sysclk() argument
213 struct fsl_esai *esai_priv = snd_soc_dai_get_drvdata(dai); in fsl_esai_set_dai_sysclk()
250 dev_err(dai->dev, "no assigned %s clock\n", in fsl_esai_set_dai_sysclk()
266 dev_err(dai->dev, "failed to derive required HCK%c rate\n", in fsl_esai_set_dai_sysclk()
278 dev_err(dai->dev, "failed to derive required HCK%c rate\n", in fsl_esai_set_dai_sysclk()
283 ret = fsl_esai_divisor_cal(dai, tx, ratio, false, 0); in fsl_esai_set_dai_sysclk()
303 static int fsl_esai_set_bclk(struct snd_soc_dai *dai, bool tx, u32 freq) in fsl_esai_set_bclk() argument
305 struct fsl_esai *esai_priv = snd_soc_dai_get_drvdata(dai); in fsl_esai_set_bclk()
323 dev_err(dai->dev, "failed to derive required SCK%c rate\n", in fsl_esai_set_bclk()
330 dev_err(dai->dev, "the ratio is out of range (1 ~ 16)\n"); in fsl_esai_set_bclk()
334 ret = fsl_esai_divisor_cal(dai, tx, ratio, true, in fsl_esai_set_bclk()
345 static int fsl_esai_set_dai_tdm_slot(struct snd_soc_dai *dai, u32 tx_mask, in fsl_esai_set_dai_tdm_slot() argument
348 struct fsl_esai *esai_priv = snd_soc_dai_get_drvdata(dai); in fsl_esai_set_dai_tdm_slot()
372 static int fsl_esai_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt) in fsl_esai_set_dai_fmt() argument
374 struct fsl_esai *esai_priv = snd_soc_dai_get_drvdata(dai); in fsl_esai_set_dai_fmt()
460 struct snd_soc_dai *dai) in fsl_esai_startup() argument
462 struct fsl_esai *esai_priv = snd_soc_dai_get_drvdata(dai); in fsl_esai_startup()
483 if (!dai->active) { in fsl_esai_startup()
509 struct snd_soc_dai *dai) in fsl_esai_hw_params() argument
511 struct fsl_esai *esai_priv = snd_soc_dai_get_drvdata(dai); in fsl_esai_hw_params()
526 ret = fsl_esai_set_bclk(dai, tx, bclk); in fsl_esai_hw_params()
559 struct snd_soc_dai *dai) in fsl_esai_shutdown() argument
561 struct fsl_esai *esai_priv = snd_soc_dai_get_drvdata(dai); in fsl_esai_shutdown()
571 struct snd_soc_dai *dai) in fsl_esai_trigger() argument
573 struct fsl_esai *esai_priv = snd_soc_dai_get_drvdata(dai); in fsl_esai_trigger()
622 static int fsl_esai_dai_probe(struct snd_soc_dai *dai) in fsl_esai_dai_probe() argument
624 struct fsl_esai *esai_priv = snd_soc_dai_get_drvdata(dai); in fsl_esai_dai_probe()
626 snd_soc_dai_init_dma_data(dai, &esai_priv->dma_params_tx, in fsl_esai_dai_probe()