Lines Matching refs:cpu_dai
109 struct snd_soc_dai *cpu_dai; member
669 static int stm32_sai_set_sysclk(struct snd_soc_dai *cpu_dai, in stm32_sai_set_sysclk() argument
672 struct stm32_sai_sub_data *sai = snd_soc_dai_get_drvdata(cpu_dai); in stm32_sai_set_sysclk()
703 dev_err(cpu_dai->dev, in stm32_sai_set_sysclk()
710 dev_dbg(cpu_dai->dev, "SAI MCLK frequency is %uHz\n", freq); in stm32_sai_set_sysclk()
717 static int stm32_sai_set_dai_tdm_slot(struct snd_soc_dai *cpu_dai, u32 tx_mask, in stm32_sai_set_dai_tdm_slot() argument
720 struct stm32_sai_sub_data *sai = snd_soc_dai_get_drvdata(cpu_dai); in stm32_sai_set_dai_tdm_slot()
724 dev_warn(cpu_dai->dev, "Slot setting relevant only for TDM\n"); in stm32_sai_set_dai_tdm_slot()
728 dev_dbg(cpu_dai->dev, "Masks tx/rx:%#x/%#x, slots:%d, width:%d\n", in stm32_sai_set_dai_tdm_slot()
768 static int stm32_sai_set_dai_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt) in stm32_sai_set_dai_fmt() argument
770 struct stm32_sai_sub_data *sai = snd_soc_dai_get_drvdata(cpu_dai); in stm32_sai_set_dai_fmt()
775 dev_dbg(cpu_dai->dev, "fmt %x\n", fmt); in stm32_sai_set_dai_fmt()
810 dev_err(cpu_dai->dev, "Unsupported protocol %#x\n", in stm32_sai_set_dai_fmt()
835 dev_err(cpu_dai->dev, "Unsupported strobing %#x\n", in stm32_sai_set_dai_fmt()
855 dev_err(cpu_dai->dev, "Unsupported mode %#x\n", in stm32_sai_set_dai_fmt()
862 dev_dbg(cpu_dai->dev, "Synchronized SAI configured as slave\n"); in stm32_sai_set_dai_fmt()
872 dev_err(cpu_dai->dev, "Failed to update CR1 register\n"); in stm32_sai_set_dai_fmt()
882 struct snd_soc_dai *cpu_dai) in stm32_sai_startup() argument
884 struct stm32_sai_sub_data *sai = snd_soc_dai_get_drvdata(cpu_dai); in stm32_sai_startup()
902 dev_err(cpu_dai->dev, "Failed to enable clock: %d\n", ret); in stm32_sai_startup()
928 static int stm32_sai_set_config(struct snd_soc_dai *cpu_dai, in stm32_sai_set_config() argument
932 struct stm32_sai_sub_data *sai = snd_soc_dai_get_drvdata(cpu_dai); in stm32_sai_set_config()
964 dev_err(cpu_dai->dev, "Data format not supported\n"); in stm32_sai_set_config()
974 dev_err(cpu_dai->dev, "Failed to update CR1 register\n"); in stm32_sai_set_config()
981 static int stm32_sai_set_slots(struct snd_soc_dai *cpu_dai) in stm32_sai_set_slots() argument
983 struct stm32_sai_sub_data *sai = snd_soc_dai_get_drvdata(cpu_dai); in stm32_sai_set_slots()
997 dev_err(cpu_dai->dev, in stm32_sai_set_slots()
1020 dev_dbg(cpu_dai->dev, "Slots %d, slot width %d\n", in stm32_sai_set_slots()
1026 static void stm32_sai_set_frame(struct snd_soc_dai *cpu_dai) in stm32_sai_set_frame() argument
1028 struct stm32_sai_sub_data *sai = snd_soc_dai_get_drvdata(cpu_dai); in stm32_sai_set_frame()
1044 dev_dbg(cpu_dai->dev, "Frame length %d, frame active %d\n", in stm32_sai_set_frame()
1111 static int stm32_sai_configure_clock(struct snd_soc_dai *cpu_dai, in stm32_sai_configure_clock() argument
1114 struct stm32_sai_sub_data *sai = snd_soc_dai_get_drvdata(cpu_dai); in stm32_sai_configure_clock()
1165 dev_err(cpu_dai->dev, in stm32_sai_configure_clock()
1195 struct snd_soc_dai *cpu_dai) in stm32_sai_hw_params() argument
1197 struct stm32_sai_sub_data *sai = snd_soc_dai_get_drvdata(cpu_dai); in stm32_sai_hw_params()
1207 ret = stm32_sai_set_slots(cpu_dai); in stm32_sai_hw_params()
1210 stm32_sai_set_frame(cpu_dai); in stm32_sai_hw_params()
1213 ret = stm32_sai_set_config(cpu_dai, substream, params); in stm32_sai_hw_params()
1218 ret = stm32_sai_configure_clock(cpu_dai, params); in stm32_sai_hw_params()
1224 struct snd_soc_dai *cpu_dai) in stm32_sai_trigger() argument
1226 struct stm32_sai_sub_data *sai = snd_soc_dai_get_drvdata(cpu_dai); in stm32_sai_trigger()
1233 dev_dbg(cpu_dai->dev, "Enable DMA and SAI\n"); in stm32_sai_trigger()
1242 dev_err(cpu_dai->dev, "Failed to update CR1 register\n"); in stm32_sai_trigger()
1247 dev_dbg(cpu_dai->dev, "Disable DMA and SAI\n"); in stm32_sai_trigger()
1260 dev_err(cpu_dai->dev, "Failed to update CR1 register\n"); in stm32_sai_trigger()
1273 struct snd_soc_dai *cpu_dai) in stm32_sai_shutdown() argument
1275 struct stm32_sai_sub_data *sai = snd_soc_dai_get_drvdata(cpu_dai); in stm32_sai_shutdown()
1296 struct snd_soc_dai *cpu_dai) in stm32_sai_pcm_new() argument
1298 struct stm32_sai_sub_data *sai = dev_get_drvdata(cpu_dai->dev); in stm32_sai_pcm_new()
1310 static int stm32_sai_dai_probe(struct snd_soc_dai *cpu_dai) in stm32_sai_dai_probe() argument
1312 struct stm32_sai_sub_data *sai = dev_get_drvdata(cpu_dai->dev); in stm32_sai_dai_probe()
1315 sai->cpu_dai = cpu_dai; in stm32_sai_dai_probe()
1330 snd_soc_dai_init_dma_data(cpu_dai, &sai->dma_params, NULL); in stm32_sai_dai_probe()
1332 snd_soc_dai_init_dma_data(cpu_dai, NULL, &sai->dma_params); in stm32_sai_dai_probe()
1386 struct snd_soc_dai *cpu_dai = snd_soc_rtd_to_cpu(rtd, 0); in stm32_sai_pcm_process_spdif() local
1387 struct stm32_sai_sub_data *sai = dev_get_drvdata(cpu_dai->dev); in stm32_sai_pcm_process_spdif()