Lines Matching refs:cpu_dai

62 				       struct snd_soc_dai *cpu_dai)
64 struct snd_soc_dapm_widget *w = snd_soc_dai_get_widget(cpu_dai, substream->stream);
70 hda_dai_get_ops(struct snd_pcm_substream *substream, struct snd_soc_dai *cpu_dai)
72 struct snd_soc_dapm_widget *w = snd_soc_dai_get_widget(cpu_dai, substream->stream);
109 struct snd_soc_dai *cpu_dai, bool release)
111 const struct hda_dai_widget_dma_ops *ops = hda_dai_get_ops(substream, cpu_dai);
118 dev_err(cpu_dai->dev, "DAI widget ops not set\n");
122 sdev = dai_to_sdev(substream, cpu_dai);
145 ops->release_hext_stream(sdev, cpu_dai, substream);
157 struct snd_pcm_hw_params *params, struct snd_soc_dai *cpu_dai)
159 const struct hda_dai_widget_dma_ops *ops = hda_dai_get_ops(substream, cpu_dai);
167 dev_err(cpu_dai->dev, "DAI widget ops not set\n");
171 sdev = dai_to_sdev(substream, cpu_dai);
177 hext_stream = ops->get_hext_stream(sdev, cpu_dai, substream);
181 hext_stream = ops->assign_hext_stream(sdev, cpu_dai, substream);
212 struct snd_soc_dai *cpu_dai)
214 const struct hda_dai_widget_dma_ops *ops = hda_dai_get_ops(substream, cpu_dai);
216 struct snd_sof_dev *sdev = dai_to_sdev(substream, cpu_dai);
219 dev_err(cpu_dai->dev, "DAI widget ops not set\n");
223 hext_stream = ops->get_hext_stream(sdev, cpu_dai, substream);
227 return hda_link_dma_cleanup(substream, hext_stream, cpu_dai, true);
364 struct snd_soc_dai *cpu_dai,
368 struct snd_soc_dapm_widget *w = snd_soc_dai_get_widget(cpu_dai, substream->stream);
382 ops = hda_dai_get_ops(substream, cpu_dai);
384 dev_err(cpu_dai->dev, "DAI widget ops not set\n");
389 hext_stream = ops->get_hext_stream(sdev, cpu_dai, substream);
396 ret = hda_dai_hw_params_data(substream, params, cpu_dai, data, flags);
398 dev_err(cpu_dai->dev, "%s: hda_dai_hw_params_data failed: %d\n", __func__, ret);
406 hext_stream = ops->get_hext_stream(sdev, cpu_dai, substream);
409 dev_err(cpu_dai->dev, "%s: no hext_stream found\n", __func__);
417 dev_err(cpu_dai->dev, "%s: no stream_id allocated\n", __func__);
425 if (dai == cpu_dai)
452 struct snd_soc_dai *cpu_dai)
457 return non_hda_dai_hw_params_data(substream, params, cpu_dai, &data, flags);
461 struct snd_soc_dai *cpu_dai)
466 return non_hda_dai_hw_params(substream, &rtd->dpcm[stream].hw_params, cpu_dai);
485 struct snd_soc_dai *cpu_dai,
489 struct snd_soc_dapm_widget *w = snd_soc_dai_get_widget(cpu_dai, substream->stream);
507 dev_err(cpu_dai->dev, "%s widget not found, check amp link num in the topology\n",
508 cpu_dai->name);
512 ops = hda_dai_get_ops(substream, cpu_dai);
514 dev_err(cpu_dai->dev, "DAI widget ops not set\n");
519 hext_stream = ops->get_hext_stream(sdev, cpu_dai, substream);
529 ret = hdac_bus_eml_sdw_map_stream_ch(sof_to_bus(sdev), link_id, cpu_dai->id,
532 dev_err(cpu_dai->dev, "%s: hdac_bus_eml_sdw_map_stream_ch failed %d\n",
537 data.dai_index = (link_id << 8) | cpu_dai->id;
539 ret = non_hda_dai_hw_params_data(substream, params, cpu_dai, &data, flags);
541 dev_err(cpu_dai->dev, "%s: non_hda_dai_hw_params failed %d\n", __func__, ret);
545 hext_stream = ops->get_hext_stream(sdev, cpu_dai, substream);
555 if (dai == cpu_dai) {
566 ret = hdac_bus_eml_sdw_map_stream_ch(sof_to_bus(sdev), link_id, cpu_dai->id,
571 dev_err(cpu_dai->dev, "%s: hdac_bus_eml_sdw_map_stream_ch failed %d\n",
592 dev_err(cpu_dai->dev,
606 struct snd_soc_dai *cpu_dai,
609 struct snd_soc_dapm_widget *w = snd_soc_dai_get_widget(cpu_dai, substream->stream);
613 ret = hda_dai_hw_free(substream, cpu_dai);
615 dev_err(cpu_dai->dev, "%s: non_hda_dai_hw_free failed %d\n", __func__, ret);
622 ret = hdac_bus_eml_sdw_map_stream_ch(sof_to_bus(sdev), link_id, cpu_dai->id,
625 dev_err(cpu_dai->dev, "%s: hdac_bus_eml_sdw_map_stream_ch failed %d\n",
635 struct snd_soc_dai *cpu_dai)
637 return hda_dai_trigger(substream, cmd, cpu_dai);
663 struct snd_soc_dai *cpu_dai;
668 cpu_dai = snd_soc_rtd_to_cpu(rtd, 0);
669 w = snd_soc_dai_get_widget(cpu_dai, hdac_stream(hext_stream)->direction);
681 ret = ops->post_trigger(sdev, cpu_dai,
689 hext_stream, cpu_dai, true);