Lines Matching defs: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);
207 spcm = snd_sof_find_spcm_dai(component, rtd);
211 dev_dbg(component->dev, "pcm: free stream %d dir %d\n",
221 ret = pcm_ops->hw_free(component, substream);
232 dev_err(component->dev, "error: platform hw free failed\n");
246 static int sof_pcm_prepare(struct snd_soc_component *component,
257 spcm = snd_sof_find_spcm_dai(component, rtd);
264 dev_dbg(component->dev, "pcm: prepare stream %d dir %d\n",
268 ret = sof_pcm_hw_params(component,
271 dev_err(component->dev,
283 static int sof_pcm_trigger(struct snd_soc_component *component,
287 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
298 spcm = snd_sof_find_spcm_dai(component, rtd);
302 dev_dbg(component->dev, "pcm: trigger stream %d dir %d cmd %d\n",
351 dev_err(component->dev, "Unhandled trigger cmd %d\n", cmd);
359 ret = pcm_ops->trigger(component, substream, cmd);
386 static snd_pcm_uframes_t sof_pcm_pointer(struct snd_soc_component *component,
390 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
402 spcm = snd_sof_find_spcm_dai(component, rtd);
417 static int sof_pcm_open(struct snd_soc_component *component,
422 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
432 spcm = snd_sof_find_spcm_dai(component, rtd);
436 dev_dbg(component->dev, "pcm: open stream %d dir %d\n",
458 dev_dbg(component->dev, "period min %zd max %zd bytes\n",
461 dev_dbg(component->dev, "period count %d max %d\n",
464 dev_dbg(component->dev, "buffer max %zd bytes\n",
477 dev_err(component->dev, "error: pcm open failed %d\n", ret);
482 static int sof_pcm_close(struct snd_soc_component *component,
486 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
494 spcm = snd_sof_find_spcm_dai(component, rtd);
498 dev_dbg(component->dev, "pcm: close stream %d dir %d\n",
503 dev_err(component->dev, "error: pcm close failed %d\n",
519 static int sof_pcm_new(struct snd_soc_component *component,
522 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
529 spcm = snd_sof_find_spcm_dai(component, rtd);
531 dev_warn(component->dev, "warn: can't find PCM with DAI ID %d\n",
536 dev_dbg(component->dev, "creating new PCM %s\n", spcm->pcm.pcm_name);
545 dev_dbg(component->dev,
550 dev_err(component->dev, "error: NULL playback substream!\n");
567 dev_dbg(component->dev,
572 dev_err(component->dev, "error: NULL capture substream!\n");
591 struct snd_soc_component *component =
594 snd_sof_find_dai(component, (char *)rtd->dai_link->name);
595 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
600 dev_warn(component->dev,
624 static int sof_pcm_probe(struct snd_soc_component *component)
626 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
635 ret = pm_runtime_resume_and_get(component->dev);
640 sdev->component = component;
651 ret = snd_sof_load_topology(component, tplg_filename);
653 dev_err(component->dev, "error: failed to load DSP topology %d\n",
657 pm_runtime_mark_last_busy(component->dev);
658 pm_runtime_put_autosuspend(component->dev);
663 static void sof_pcm_remove(struct snd_soc_component *component)
666 snd_soc_tplg_component_remove(component);
669 static int sof_pcm_ack(struct snd_soc_component *component,
672 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
677 static snd_pcm_sframes_t sof_pcm_delay(struct snd_soc_component *component,
680 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
684 return pcm_ops->delay(component, substream);
702 pd->name = "sof-audio-component";