Lines Matching refs:component

24 static int create_page_table(struct snd_soc_component *component,
33 spcm = snd_sof_find_spcm_dai(component, rtd);
37 return snd_sof_create_page_table(component->dev, dmab,
64 struct snd_soc_component *component =
68 spcm = snd_sof_find_spcm_dai(component, rtd);
70 dev_err(component->dev,
122 static int sof_pcm_hw_params(struct snd_soc_component *component,
126 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
138 spcm = snd_sof_find_spcm_dai(component, rtd);
147 ret = pcm_ops->hw_free(component, substream);
154 dev_dbg(component->dev, "pcm: hw params stream %d dir %d\n",
159 dev_err(component->dev, "platform hw params failed\n");
173 ret = create_page_table(component, substream, runtime->dma_area,
181 ret = pcm_ops->hw_params(component, substream, params, &platform_params);
194 static int sof_pcm_hw_free(struct snd_soc_component *component,
198 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
206 spcm = snd_sof_find_spcm_dai(component, rtd);
210 dev_dbg(component->dev, "pcm: free stream %d dir %d\n",
220 static int sof_pcm_prepare(struct snd_soc_component *component,
224 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
232 spcm = snd_sof_find_spcm_dai(component, rtd);
249 dev_dbg(component->dev, "pcm: prepare stream %d dir %d\n",
253 ret = sof_pcm_hw_params(component,
256 dev_err(component->dev,
268 static int sof_pcm_trigger(struct snd_soc_component *component,
272 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
283 spcm = snd_sof_find_spcm_dai(component, rtd);
287 dev_dbg(component->dev, "pcm: trigger stream %d dir %d cmd %d\n",
337 dev_err(component->dev, "Unhandled trigger cmd %d\n", cmd);
345 ret = pcm_ops->trigger(component, substream, cmd);
381 static snd_pcm_uframes_t sof_pcm_pointer(struct snd_soc_component *component,
385 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
396 ret = pcm_ops->pointer(component, substream, &host);
405 spcm = snd_sof_find_spcm_dai(component, rtd);
420 static int sof_pcm_open(struct snd_soc_component *component,
425 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
435 spcm = snd_sof_find_spcm_dai(component, rtd);
439 dev_dbg(component->dev, "pcm: open stream %d dir %d\n",
461 dev_dbg(component->dev, "period min %zd max %zd bytes\n",
464 dev_dbg(component->dev, "period count %d max %d\n",
467 dev_dbg(component->dev, "buffer max %zd bytes\n",
480 dev_err(component->dev, "error: pcm open failed %d\n", ret);
485 static int sof_pcm_close(struct snd_soc_component *component,
489 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
497 spcm = snd_sof_find_spcm_dai(component, rtd);
501 dev_dbg(component->dev, "pcm: close stream %d dir %d\n",
506 dev_err(component->dev, "error: pcm close failed %d\n",
522 static int sof_pcm_new(struct snd_soc_component *component,
525 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
532 spcm = snd_sof_find_spcm_dai(component, rtd);
534 dev_warn(component->dev, "warn: can't find PCM with DAI ID %d\n",
539 dev_dbg(component->dev, "creating new PCM %s\n", spcm->pcm.pcm_name);
548 dev_dbg(component->dev,
553 dev_err(component->dev, "error: NULL playback substream!\n");
570 dev_dbg(component->dev,
575 dev_err(component->dev, "error: NULL capture substream!\n");
594 struct snd_soc_component *component =
597 snd_sof_find_dai(component, (char *)rtd->dai_link->name);
598 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
603 dev_warn(component->dev,
627 static int sof_pcm_probe(struct snd_soc_component *component)
629 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
638 ret = pm_runtime_resume_and_get(component->dev);
643 sdev->component = component;
654 ret = snd_sof_load_topology(component, tplg_filename);
656 dev_err(component->dev, "error: failed to load DSP topology %d\n",
660 pm_runtime_mark_last_busy(component->dev);
661 pm_runtime_put_autosuspend(component->dev);
666 static void sof_pcm_remove(struct snd_soc_component *component)
669 snd_soc_tplg_component_remove(component);
672 static int sof_pcm_ack(struct snd_soc_component *component,
675 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
680 static snd_pcm_sframes_t sof_pcm_delay(struct snd_soc_component *component,
683 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
687 return pcm_ops->delay(component, substream);
705 pd->name = "sof-audio-component";