Lines Matching refs:dai

33 static int setup_pcm_multichan(struct snd_soc_dai *dai,  in setup_pcm_multichan()  argument
36 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_pcm_multichan()
57 dev_dbg(dai->dev, in setup_pcm_multichan()
66 static int setup_frameper(struct snd_soc_dai *dai, unsigned int rate, in setup_frameper() argument
69 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_frameper()
95 dev_err(dai->dev, in setup_frameper()
114 dev_err(dai->dev, in setup_frameper()
123 dev_dbg(dai->dev, "%s: Clocks per frame: %u\n", in setup_frameper()
130 static int setup_pcm_framing(struct snd_soc_dai *dai, unsigned int rate, in setup_pcm_framing() argument
133 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_pcm_framing()
155 dev_err(dai->dev, in setup_pcm_framing()
171 return setup_frameper(dai, rate, prot_desc); in setup_pcm_framing()
174 static int setup_clocking(struct snd_soc_dai *dai, in setup_clocking() argument
189 dev_err(dai->dev, in setup_clocking()
198 dev_dbg(dai->dev, "%s: Codec is master.\n", __func__); in setup_clocking()
210 dev_dbg(dai->dev, "%s: Codec is slave.\n", __func__); in setup_clocking()
221 dev_err(dai->dev, "%s: Error: Unsopported master (fmt = 0x%x)!\n", in setup_clocking()
230 static int setup_pcm_protdesc(struct snd_soc_dai *dai, in setup_pcm_protdesc() argument
244 dev_dbg(dai->dev, "%s: DSP_A.\n", __func__); in setup_pcm_protdesc()
251 dev_dbg(dai->dev, "%s: DSP_B.\n", __func__); in setup_pcm_protdesc()
304 struct snd_soc_dai *dai, in setup_msp_config() argument
307 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in setup_msp_config()
325 dev_dbg(dai->dev, "%s: f_inputclk = %u, frame_freq = %u.\n", in setup_msp_config()
330 dev_dbg(dai->dev, "%s: rate: %u, channels: %d.\n", __func__, in setup_msp_config()
335 dev_dbg(dai->dev, "%s: SND_SOC_DAIFMT_I2S.\n", __func__); in setup_msp_config()
342 dev_dbg(dai->dev, "%s: SND_SOC_DAIFMT_I2S.\n", __func__); in setup_msp_config()
357 dev_dbg(dai->dev, "%s: PCM format.\n", __func__); in setup_msp_config()
362 ret = setup_pcm_protdesc(dai, fmt, prot_desc); in setup_msp_config()
366 ret = setup_pcm_multichan(dai, msp_config); in setup_msp_config()
370 ret = setup_pcm_framing(dai, runtime->rate, prot_desc); in setup_msp_config()
377 dev_err(dai->dev, "%s: Error: Unsopported format (%d)!\n", in setup_msp_config()
382 return setup_clocking(dai, fmt, msp_config); in setup_msp_config()
386 struct snd_soc_dai *dai) in ux500_msp_dai_startup() argument
389 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_startup()
391 dev_dbg(dai->dev, "%s: MSP %d (%s): Enter.\n", __func__, dai->id, in ux500_msp_dai_startup()
403 dev_dbg(dai->dev, "%s: Enabling MSP-clocks.\n", __func__); in ux500_msp_dai_startup()
427 struct snd_soc_dai *dai) in ux500_msp_dai_shutdown() argument
430 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_shutdown()
433 dev_dbg(dai->dev, "%s: MSP %d (%s): Enter.\n", __func__, dai->id, in ux500_msp_dai_shutdown()
444 dev_err(dai->dev, in ux500_msp_dai_shutdown()
446 __func__, dai->id, snd_pcm_stream_str(substream)); in ux500_msp_dai_shutdown()
456 dev_err(dai->dev, in ux500_msp_dai_shutdown()
462 struct snd_soc_dai *dai) in ux500_msp_dai_prepare() argument
465 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_prepare()
469 dev_dbg(dai->dev, "%s: MSP %d (%s): Enter (rate = %d).\n", __func__, in ux500_msp_dai_prepare()
470 dai->id, snd_pcm_stream_str(substream), runtime->rate); in ux500_msp_dai_prepare()
472 setup_msp_config(substream, dai, &msp_config); in ux500_msp_dai_prepare()
476 dev_err(dai->dev, "%s: Error: msp_setup failed (ret = %d)!\n", in ux500_msp_dai_prepare()
500 struct snd_soc_dai *dai) in ux500_msp_dai_hw_params() argument
504 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_hw_params()
506 dev_dbg(dai->dev, "%s: MSP %d (%s): Enter.\n", in ux500_msp_dai_hw_params()
507 __func__, dai->id, snd_pcm_stream_str(substream)); in ux500_msp_dai_hw_params()
523 dev_dbg(dai->dev, "TDM-slots active: %d", slots_active); in ux500_msp_dai_hw_params()
531 dev_err(dai->dev, in ux500_msp_dai_hw_params()
540 static int ux500_msp_dai_set_dai_fmt(struct snd_soc_dai *dai, in ux500_msp_dai_set_dai_fmt() argument
543 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_set_dai_fmt()
545 dev_dbg(dai->dev, "%s: MSP %d: Enter.\n", __func__, dai->id); in ux500_msp_dai_set_dai_fmt()
558 dev_err(dai->dev, in ux500_msp_dai_set_dai_fmt()
571 dev_err(dai->dev, in ux500_msp_dai_set_dai_fmt()
581 static int ux500_msp_dai_set_tdm_slot(struct snd_soc_dai *dai, in ux500_msp_dai_set_tdm_slot() argument
586 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_set_tdm_slot()
603 dev_err(dai->dev, "%s: Error: Unsupported slot-count (%d)!\n", in ux500_msp_dai_set_tdm_slot()
610 dev_err(dai->dev, "%s: Error: Unsupported slot-width (%d)!\n", in ux500_msp_dai_set_tdm_slot()
622 static int ux500_msp_dai_set_dai_sysclk(struct snd_soc_dai *dai, in ux500_msp_dai_set_dai_sysclk() argument
625 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_set_dai_sysclk()
627 dev_dbg(dai->dev, "%s: MSP %d: Enter. clk-id: %d, freq: %u.\n", in ux500_msp_dai_set_dai_sysclk()
628 __func__, dai->id, clk_id, freq); in ux500_msp_dai_set_dai_sysclk()
636 dev_err(dai->dev, "%s: MSP %d: Invalid clk-id (%d)!\n", in ux500_msp_dai_set_dai_sysclk()
637 __func__, dai->id, clk_id); in ux500_msp_dai_set_dai_sysclk()
645 int cmd, struct snd_soc_dai *dai) in ux500_msp_dai_trigger() argument
648 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_trigger()
650 dev_dbg(dai->dev, "%s: MSP %d (%s): Enter (msp->id = %d, cmd = %d).\n", in ux500_msp_dai_trigger()
651 __func__, dai->id, snd_pcm_stream_str(substream), in ux500_msp_dai_trigger()
659 static int ux500_msp_dai_of_probe(struct snd_soc_dai *dai) in ux500_msp_dai_of_probe() argument
661 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_of_probe()
665 playback_dma_data = devm_kzalloc(dai->dev, in ux500_msp_dai_of_probe()
671 capture_dma_data = devm_kzalloc(dai->dev, in ux500_msp_dai_of_probe()
683 snd_soc_dai_init_dma_data(dai, playback_dma_data, capture_dma_data); in ux500_msp_dai_of_probe()
688 static int ux500_msp_dai_probe(struct snd_soc_dai *dai) in ux500_msp_dai_probe() argument
690 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev); in ux500_msp_dai_probe()
691 struct msp_i2s_platform_data *pdata = dai->dev->platform_data; in ux500_msp_dai_probe()
695 ret = ux500_msp_dai_of_probe(dai); in ux500_msp_dai_probe()
702 snd_soc_dai_init_dma_data(dai, in ux500_msp_dai_probe()