Lines Matching refs:dai

20 #include <sound/soc-dai.h>
27 static int setup_pcm_multichan(struct snd_soc_dai *dai,
30 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
51 dev_dbg(dai->dev,
60 static int setup_frameper(struct snd_soc_dai *dai, unsigned int rate,
63 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
89 dev_err(dai->dev,
108 dev_err(dai->dev,
117 dev_dbg(dai->dev, "%s: Clocks per frame: %u\n",
124 static int setup_pcm_framing(struct snd_soc_dai *dai, unsigned int rate,
127 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
150 dev_err(dai->dev,
166 return setup_frameper(dai, rate, prot_desc);
169 static int setup_clocking(struct snd_soc_dai *dai,
184 dev_err(dai->dev,
193 dev_dbg(dai->dev, "%s: Codec is master.\n", __func__);
205 dev_dbg(dai->dev, "%s: Codec is slave.\n", __func__);
216 dev_err(dai->dev, "%s: Error: Unsupported master (fmt = 0x%x)!\n",
225 static int setup_pcm_protdesc(struct snd_soc_dai *dai,
239 dev_dbg(dai->dev, "%s: DSP_A.\n", __func__);
246 dev_dbg(dai->dev, "%s: DSP_B.\n", __func__);
299 struct snd_soc_dai *dai,
302 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
320 dev_dbg(dai->dev, "%s: f_inputclk = %u, frame_freq = %u.\n",
325 dev_dbg(dai->dev, "%s: rate: %u, channels: %d.\n", __func__,
330 dev_dbg(dai->dev, "%s: SND_SOC_DAIFMT_I2S.\n", __func__);
337 dev_dbg(dai->dev, "%s: SND_SOC_DAIFMT_I2S.\n", __func__);
352 dev_dbg(dai->dev, "%s: PCM format.\n", __func__);
357 ret = setup_pcm_protdesc(dai, fmt, prot_desc);
361 ret = setup_pcm_multichan(dai, msp_config);
365 ret = setup_pcm_framing(dai, runtime->rate, prot_desc);
372 dev_err(dai->dev, "%s: Error: Unsupported format (%d)!\n",
377 return setup_clocking(dai, fmt, msp_config);
381 struct snd_soc_dai *dai)
384 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
386 dev_dbg(dai->dev, "%s: MSP %d (%s): Enter.\n", __func__, dai->id,
398 dev_dbg(dai->dev, "%s: Enabling MSP-clocks.\n", __func__);
422 struct snd_soc_dai *dai)
425 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
428 dev_dbg(dai->dev, "%s: MSP %d (%s): Enter.\n", __func__, dai->id,
439 dev_err(dai->dev,
441 __func__, dai->id, snd_pcm_stream_str(substream));
451 dev_err(dai->dev,
457 struct snd_soc_dai *dai)
460 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
464 dev_dbg(dai->dev, "%s: MSP %d (%s): Enter (rate = %d).\n", __func__,
465 dai->id, snd_pcm_stream_str(substream), runtime->rate);
467 setup_msp_config(substream, dai, &msp_config);
471 dev_err(dai->dev, "%s: Error: msp_setup failed (ret = %d)!\n",
496 struct snd_soc_dai *dai)
500 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
502 dev_dbg(dai->dev, "%s: MSP %d (%s): Enter.\n",
503 __func__, dai->id, snd_pcm_stream_str(substream));
519 dev_dbg(dai->dev, "TDM-slots active: %d", slots_active);
527 dev_err(dai->dev,
536 static int ux500_msp_dai_set_dai_fmt(struct snd_soc_dai *dai,
539 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
541 dev_dbg(dai->dev, "%s: MSP %d: Enter.\n", __func__, dai->id);
554 dev_err(dai->dev,
567 dev_err(dai->dev,
577 static int ux500_msp_dai_set_tdm_slot(struct snd_soc_dai *dai,
582 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
599 dev_err(dai->dev, "%s: Error: Unsupported slot-count (%d)!\n",
606 dev_err(dai->dev, "%s: Error: Unsupported slot-width (%d)!\n",
618 static int ux500_msp_dai_set_dai_sysclk(struct snd_soc_dai *dai,
621 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
623 dev_dbg(dai->dev, "%s: MSP %d: Enter. clk-id: %d, freq: %u.\n",
624 __func__, dai->id, clk_id, freq);
632 dev_err(dai->dev, "%s: MSP %d: Invalid clk-id (%d)!\n",
633 __func__, dai->id, clk_id);
641 int cmd, struct snd_soc_dai *dai)
644 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
646 dev_dbg(dai->dev, "%s: MSP %d (%s): Enter (msp->id = %d, cmd = %d).\n",
647 __func__, dai->id, snd_pcm_stream_str(substream),
655 static int ux500_msp_dai_of_probe(struct snd_soc_dai *dai)
657 struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
661 playback_dma_data = devm_kzalloc(dai->dev,
667 capture_dma_data = devm_kzalloc(dai->dev,
679 snd_soc_dai_init_dma_data(dai, playback_dma_data, capture_dma_data);