Lines Matching refs:dai
22 static int lpass_cpu_daiops_set_sysclk(struct snd_soc_dai *dai, int clk_id, in lpass_cpu_daiops_set_sysclk() argument
25 struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai); in lpass_cpu_daiops_set_sysclk()
28 ret = clk_set_rate(drvdata->mi2s_osr_clk[dai->driver->id], freq); in lpass_cpu_daiops_set_sysclk()
30 dev_err(dai->dev, "error setting mi2s osrclk to %u: %d\n", in lpass_cpu_daiops_set_sysclk()
37 struct snd_soc_dai *dai) in lpass_cpu_daiops_startup() argument
39 struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai); in lpass_cpu_daiops_startup()
42 ret = clk_prepare_enable(drvdata->mi2s_osr_clk[dai->driver->id]); in lpass_cpu_daiops_startup()
44 dev_err(dai->dev, "error in enabling mi2s osr clk: %d\n", ret); in lpass_cpu_daiops_startup()
48 ret = clk_prepare_enable(drvdata->mi2s_bit_clk[dai->driver->id]); in lpass_cpu_daiops_startup()
50 dev_err(dai->dev, "error in enabling mi2s bit clk: %d\n", ret); in lpass_cpu_daiops_startup()
51 clk_disable_unprepare(drvdata->mi2s_osr_clk[dai->driver->id]); in lpass_cpu_daiops_startup()
59 struct snd_soc_dai *dai) in lpass_cpu_daiops_shutdown() argument
61 struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai); in lpass_cpu_daiops_shutdown()
63 clk_disable_unprepare(drvdata->mi2s_bit_clk[dai->driver->id]); in lpass_cpu_daiops_shutdown()
65 clk_disable_unprepare(drvdata->mi2s_osr_clk[dai->driver->id]); in lpass_cpu_daiops_shutdown()
69 struct snd_pcm_hw_params *params, struct snd_soc_dai *dai) in lpass_cpu_daiops_hw_params() argument
71 struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai); in lpass_cpu_daiops_hw_params()
80 dev_err(dai->dev, "invalid bit width given: %d\n", bitwidth); in lpass_cpu_daiops_hw_params()
98 dev_err(dai->dev, "invalid bitwidth given: %d\n", bitwidth); in lpass_cpu_daiops_hw_params()
125 dev_err(dai->dev, "invalid channels given: %u\n", in lpass_cpu_daiops_hw_params()
152 dev_err(dai->dev, "invalid channels given: %u\n", in lpass_cpu_daiops_hw_params()
159 LPAIF_I2SCTL_REG(drvdata->variant, dai->driver->id), in lpass_cpu_daiops_hw_params()
162 dev_err(dai->dev, "error writing to i2sctl reg: %d\n", ret); in lpass_cpu_daiops_hw_params()
166 ret = clk_set_rate(drvdata->mi2s_bit_clk[dai->driver->id], in lpass_cpu_daiops_hw_params()
169 dev_err(dai->dev, "error setting mi2s bitclk to %u: %d\n", in lpass_cpu_daiops_hw_params()
178 struct snd_soc_dai *dai) in lpass_cpu_daiops_hw_free() argument
180 struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai); in lpass_cpu_daiops_hw_free()
184 LPAIF_I2SCTL_REG(drvdata->variant, dai->driver->id), in lpass_cpu_daiops_hw_free()
187 dev_err(dai->dev, "error writing to i2sctl reg: %d\n", ret); in lpass_cpu_daiops_hw_free()
193 struct snd_soc_dai *dai) in lpass_cpu_daiops_prepare() argument
195 struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai); in lpass_cpu_daiops_prepare()
208 LPAIF_I2SCTL_REG(drvdata->variant, dai->driver->id), in lpass_cpu_daiops_prepare()
211 dev_err(dai->dev, "error writing to i2sctl reg: %d\n", ret); in lpass_cpu_daiops_prepare()
217 int cmd, struct snd_soc_dai *dai) in lpass_cpu_daiops_trigger() argument
219 struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai); in lpass_cpu_daiops_trigger()
237 dai->driver->id), in lpass_cpu_daiops_trigger()
240 dev_err(dai->dev, "error writing to i2sctl reg: %d\n", in lpass_cpu_daiops_trigger()
256 dai->driver->id), in lpass_cpu_daiops_trigger()
259 dev_err(dai->dev, "error writing to i2sctl reg: %d\n", in lpass_cpu_daiops_trigger()
278 int asoc_qcom_lpass_cpu_dai_probe(struct snd_soc_dai *dai) in asoc_qcom_lpass_cpu_dai_probe() argument
280 struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai); in asoc_qcom_lpass_cpu_dai_probe()
285 LPAIF_I2SCTL_REG(drvdata->variant, dai->driver->id), 0); in asoc_qcom_lpass_cpu_dai_probe()
287 dev_err(dai->dev, "error writing to i2sctl reg: %d\n", ret); in asoc_qcom_lpass_cpu_dai_probe()