Lines Matching full:pcm

10 // PCM Layer, interface between ALSA and IPC.
42 * sof pcm period elapse work
59 * sof pcm period elapse, this could be called at irq thread context.
78 * when the PCM is done draining or xrun happened, a STOP IPC will in snd_sof_pcm_period_elapsed()
111 dev_err(sdev->dev, "error: failed widget list set up for pcm %d dir %d\n", in sof_pcm_setup_connected_widgets()
112 spcm->pcm.pcm_id, dir); in sof_pcm_setup_connected_widgets()
129 const struct sof_ipc_pcm_ops *pcm_ops = sdev->ipc->ops->pcm; in sof_pcm_hw_params()
154 dev_dbg(component->dev, "pcm: hw params stream %d dir %d\n", in sof_pcm_hw_params()
155 spcm->pcm.pcm_id, substream->stream); in sof_pcm_hw_params()
188 /* save pcm hw_params */ in sof_pcm_hw_params()
199 const struct sof_ipc_pcm_ops *pcm_ops = sdev->ipc->ops->pcm; in sof_pcm_hw_free()
211 dev_dbg(component->dev, "pcm: free stream %d dir %d\n", in sof_pcm_hw_free()
212 spcm->pcm.pcm_id, substream->stream); in sof_pcm_hw_free()
214 /* free PCM in the DSP */ in sof_pcm_hw_free()
258 dev_dbg(component->dev, "pcm: prepare stream %d dir %d\n", in sof_pcm_prepare()
259 spcm->pcm.pcm_id, substream->stream); in sof_pcm_prepare()
266 "error: set pcm hw_params after resume\n"); in sof_pcm_prepare()
282 const struct sof_ipc_pcm_ops *pcm_ops = sdev->ipc->ops->pcm; in sof_pcm_trigger()
297 dev_dbg(component->dev, "pcm: trigger stream %d dir %d cmd %d\n", in sof_pcm_trigger()
298 spcm->pcm.pcm_id, substream->stream, cmd); in sof_pcm_trigger()
354 /* free PCM if reset_hw_params is set and the STOP IPC is successful */ in sof_pcm_trigger()
412 dev_dbg(component->dev, "pcm: open stream %d dir %d\n", in sof_pcm_open()
413 spcm->pcm.pcm_id, substream->stream); in sof_pcm_open()
416 caps = &spcm->pcm.caps[substream->stream]; in sof_pcm_open()
453 dev_err(component->dev, "error: pcm open failed %d\n", ret); in sof_pcm_open()
474 dev_dbg(component->dev, "pcm: close stream %d dir %d\n", in sof_pcm_close()
475 spcm->pcm.pcm_id, substream->stream); in sof_pcm_close()
479 dev_err(component->dev, "error: pcm close failed %d\n", in sof_pcm_close()
500 struct snd_pcm *pcm = rtd->pcm; in sof_pcm_new() local
504 /* find SOF PCM for this RTD */ in sof_pcm_new()
507 dev_warn(component->dev, "warn: can't find PCM with DAI ID %d\n", in sof_pcm_new()
512 dev_dbg(component->dev, "creating new PCM %s\n", spcm->pcm.pcm_name); in sof_pcm_new()
515 if (!spcm->pcm.playback) in sof_pcm_new()
518 caps = &spcm->pcm.caps[stream]; in sof_pcm_new()
525 if (!pcm->streams[stream].substream) { in sof_pcm_new()
530 snd_pcm_set_managed_buffer(pcm->streams[stream].substream, in sof_pcm_new()
537 if (!spcm->pcm.capture) in sof_pcm_new()
540 caps = &spcm->pcm.caps[stream]; in sof_pcm_new()
547 if (!pcm->streams[stream].substream) { in sof_pcm_new()
552 snd_pcm_set_managed_buffer(pcm->streams[stream].substream, in sof_pcm_new()
572 const struct sof_ipc_pcm_ops *pcm_ops = sdev->ipc->ops->pcm; in sof_pcm_dai_link_fixup()
688 /* increment module refcount when a pcm is opened */ in snd_sof_new_platform_drv()