Lines Matching refs:cpu_dai
332 static int stm32_i2s_set_dai_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt) in stm32_i2s_set_dai_fmt() argument
334 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); in stm32_i2s_set_dai_fmt()
339 dev_dbg(cpu_dai->dev, "fmt %x\n", fmt); in stm32_i2s_set_dai_fmt()
360 dev_err(cpu_dai->dev, "Unsupported protocol %#x\n", in stm32_i2s_set_dai_fmt()
380 dev_err(cpu_dai->dev, "Unsupported strobing %#x\n", in stm32_i2s_set_dai_fmt()
394 dev_err(cpu_dai->dev, "Unsupported mode %#x\n", in stm32_i2s_set_dai_fmt()
404 static int stm32_i2s_set_sysclk(struct snd_soc_dai *cpu_dai, in stm32_i2s_set_sysclk() argument
407 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); in stm32_i2s_set_sysclk()
409 dev_dbg(cpu_dai->dev, "I2S MCLK frequency is %uHz\n", freq); in stm32_i2s_set_sysclk()
422 static int stm32_i2s_configure_clock(struct snd_soc_dai *cpu_dai, in stm32_i2s_configure_clock() argument
425 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); in stm32_i2s_configure_clock()
478 dev_dbg(cpu_dai->dev, "I2S clk: %ld, SCLK: %d\n", in stm32_i2s_configure_clock()
480 dev_dbg(cpu_dai->dev, "Divider: 2*%d(div)+%d(odd) = %d\n", in stm32_i2s_configure_clock()
484 dev_err(cpu_dai->dev, "Wrong divider setting\n"); in stm32_i2s_configure_clock()
489 dev_warn(cpu_dai->dev, "real divider forced to 1\n"); in stm32_i2s_configure_clock()
501 static int stm32_i2s_configure(struct snd_soc_dai *cpu_dai, in stm32_i2s_configure() argument
505 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); in stm32_i2s_configure()
522 dev_err(cpu_dai->dev, "Unexpected format %d", format); in stm32_i2s_configure()
550 struct snd_soc_dai *cpu_dai) in stm32_i2s_startup() argument
552 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); in stm32_i2s_startup()
566 dev_err(cpu_dai->dev, "Failed to enable clock: %d\n", ret); in stm32_i2s_startup()
576 struct snd_soc_dai *cpu_dai) in stm32_i2s_hw_params() argument
578 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); in stm32_i2s_hw_params()
581 ret = stm32_i2s_configure(cpu_dai, params, substream); in stm32_i2s_hw_params()
583 dev_err(cpu_dai->dev, "Configuration returned error %d\n", ret); in stm32_i2s_hw_params()
588 ret = stm32_i2s_configure_clock(cpu_dai, params); in stm32_i2s_hw_params()
594 struct snd_soc_dai *cpu_dai) in stm32_i2s_trigger() argument
596 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); in stm32_i2s_trigger()
606 dev_dbg(cpu_dai->dev, "start I2S %s\n", in stm32_i2s_trigger()
616 dev_err(cpu_dai->dev, "Error %d enabling I2S\n", ret); in stm32_i2s_trigger()
623 dev_err(cpu_dai->dev, "Error %d starting I2S\n", ret); in stm32_i2s_trigger()
652 dev_dbg(cpu_dai->dev, "stop I2S %s\n", in stm32_i2s_trigger()
674 dev_err(cpu_dai->dev, "Error %d disabling I2S\n", ret); in stm32_i2s_trigger()
692 struct snd_soc_dai *cpu_dai) in stm32_i2s_shutdown() argument
694 struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); in stm32_i2s_shutdown()
707 static int stm32_i2s_dai_probe(struct snd_soc_dai *cpu_dai) in stm32_i2s_dai_probe() argument
709 struct stm32_i2s_data *i2s = dev_get_drvdata(cpu_dai->dev); in stm32_i2s_dai_probe()
721 snd_soc_dai_init_dma_data(cpu_dai, dma_data_tx, dma_data_rx); in stm32_i2s_dai_probe()