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()
128 const struct sof_ipc_pcm_ops *pcm_ops = sof_ipc_get_ops(sdev, 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 = sof_ipc_get_ops(sdev, 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()
219 /* free PCM in the DSP */ in sof_pcm_hw_free()
264 dev_dbg(component->dev, "pcm: prepare stream %d dir %d\n", in sof_pcm_prepare()
265 spcm->pcm.pcm_id, substream->stream); in sof_pcm_prepare()
272 "error: set pcm hw_params after resume\n"); in sof_pcm_prepare()
288 const struct sof_ipc_pcm_ops *pcm_ops = sof_ipc_get_ops(sdev, pcm); in sof_pcm_trigger()
302 dev_dbg(component->dev, "pcm: trigger stream %d dir %d cmd %d\n", in sof_pcm_trigger()
303 spcm->pcm.pcm_id, substream->stream, cmd); in sof_pcm_trigger()
379 /* free PCM if reset_hw_params is set and the STOP IPC is successful */ in sof_pcm_trigger()
436 dev_dbg(component->dev, "pcm: open stream %d dir %d\n", in sof_pcm_open()
437 spcm->pcm.pcm_id, substream->stream); in sof_pcm_open()
440 caps = &spcm->pcm.caps[substream->stream]; in sof_pcm_open()
477 dev_err(component->dev, "error: pcm open failed %d\n", ret); in sof_pcm_open()
498 dev_dbg(component->dev, "pcm: close stream %d dir %d\n", in sof_pcm_close()
499 spcm->pcm.pcm_id, substream->stream); in sof_pcm_close()
503 dev_err(component->dev, "error: pcm close failed %d\n", in sof_pcm_close()
524 struct snd_pcm *pcm = rtd->pcm; in sof_pcm_new() local
528 /* find SOF PCM for this RTD */ in sof_pcm_new()
531 dev_warn(component->dev, "warn: can't find PCM with DAI ID %d\n", in sof_pcm_new()
536 dev_dbg(component->dev, "creating new PCM %s\n", spcm->pcm.pcm_name); in sof_pcm_new()
539 if (!spcm->pcm.playback) in sof_pcm_new()
542 caps = &spcm->pcm.caps[stream]; in sof_pcm_new()
549 if (!pcm->streams[stream].substream) { in sof_pcm_new()
554 snd_pcm_set_managed_buffer(pcm->streams[stream].substream, in sof_pcm_new()
561 if (!spcm->pcm.capture) in sof_pcm_new()
564 caps = &spcm->pcm.caps[stream]; in sof_pcm_new()
571 if (!pcm->streams[stream].substream) { in sof_pcm_new()
576 snd_pcm_set_managed_buffer(pcm->streams[stream].substream, in sof_pcm_new()
596 const struct sof_ipc_pcm_ops *pcm_ops = sof_ipc_get_ops(sdev, pcm); in sof_pcm_dai_link_fixup()
681 const struct sof_ipc_pcm_ops *pcm_ops = sof_ipc_get_ops(sdev, pcm); in sof_pcm_delay()
725 /* increment module refcount when a pcm is opened */ in snd_sof_new_platform_drv()