Lines Matching refs:spcm
29 struct snd_sof_pcm *spcm; in create_page_table() local
33 spcm = snd_sof_find_spcm_dai(component, rtd); in create_page_table()
34 if (!spcm) in create_page_table()
38 spcm->stream[stream].page_table.area, size); in create_page_table()
66 struct snd_sof_pcm *spcm; in snd_sof_pcm_period_elapsed() local
68 spcm = snd_sof_find_spcm_dai(component, rtd); in snd_sof_pcm_period_elapsed()
69 if (!spcm) { in snd_sof_pcm_period_elapsed()
83 schedule_work(&spcm->stream[substream->stream].period_elapsed_work); in snd_sof_pcm_period_elapsed()
89 struct snd_sof_pcm *spcm, struct snd_pcm_hw_params *params, in sof_pcm_setup_connected_widgets() argument
107 spcm->stream[dir].list = list; in sof_pcm_setup_connected_widgets()
109 ret = sof_widget_list_setup(sdev, spcm, params, platform_params, dir); in sof_pcm_setup_connected_widgets()
112 spcm->pcm.pcm_id, dir); in sof_pcm_setup_connected_widgets()
113 spcm->stream[dir].list = NULL; in sof_pcm_setup_connected_widgets()
131 struct snd_sof_pcm *spcm; in sof_pcm_hw_params() local
138 spcm = snd_sof_find_spcm_dai(component, rtd); in sof_pcm_hw_params()
139 if (!spcm) in sof_pcm_hw_params()
146 if (pcm_ops && pcm_ops->hw_free && spcm->prepared[substream->stream]) { in sof_pcm_hw_params()
151 spcm->prepared[substream->stream] = false; in sof_pcm_hw_params()
155 spcm->pcm.pcm_id, substream->stream); in sof_pcm_hw_params()
164 if (!spcm->stream[substream->stream].list) { in sof_pcm_hw_params()
165 ret = sof_pcm_setup_connected_widgets(sdev, rtd, spcm, params, &platform_params, in sof_pcm_hw_params()
186 spcm->prepared[substream->stream] = true; in sof_pcm_hw_params()
189 memcpy(&spcm->params[substream->stream], params, sizeof(*params)); in sof_pcm_hw_params()
200 struct snd_sof_pcm *spcm; in sof_pcm_hw_free() local
207 spcm = snd_sof_find_spcm_dai(component, rtd); in sof_pcm_hw_free()
208 if (!spcm) in sof_pcm_hw_free()
212 spcm->pcm.pcm_id, substream->stream); in sof_pcm_hw_free()
214 if (spcm->prepared[substream->stream]) { in sof_pcm_hw_free()
226 spcm->prepared[substream->stream] = false; in sof_pcm_hw_free()
237 ret = sof_widget_list_free(sdev, spcm, substream->stream); in sof_pcm_hw_free()
241 cancel_work_sync(&spcm->stream[substream->stream].period_elapsed_work); in sof_pcm_hw_free()
250 struct snd_sof_pcm *spcm; in sof_pcm_prepare() local
257 spcm = snd_sof_find_spcm_dai(component, rtd); in sof_pcm_prepare()
258 if (!spcm) in sof_pcm_prepare()
261 if (spcm->prepared[substream->stream]) in sof_pcm_prepare()
265 spcm->pcm.pcm_id, substream->stream); in sof_pcm_prepare()
269 substream, &spcm->params[substream->stream]); in sof_pcm_prepare()
289 struct snd_sof_pcm *spcm; in sof_pcm_trigger() local
298 spcm = snd_sof_find_spcm_dai(component, rtd); in sof_pcm_trigger()
299 if (!spcm) in sof_pcm_trigger()
303 spcm->pcm.pcm_id, substream->stream, cmd); in sof_pcm_trigger()
314 if (spcm->stream[substream->stream].suspend_ignored) { in sof_pcm_trigger()
320 spcm->stream[substream->stream].suspend_ignored = false; in sof_pcm_trigger()
329 spcm->stream[substream->stream].d0i3_compatible) { in sof_pcm_trigger()
336 spcm->stream[substream->stream].suspend_ignored = true; in sof_pcm_trigger()
381 ret = sof_pcm_stream_free(sdev, substream, spcm, substream->stream, false); in sof_pcm_trigger()
391 struct snd_sof_pcm *spcm; in sof_pcm_pointer() local
402 spcm = snd_sof_find_spcm_dai(component, rtd); in sof_pcm_pointer()
403 if (!spcm) in sof_pcm_pointer()
408 spcm->stream[substream->stream].posn.host_posn); in sof_pcm_pointer()
410 spcm->stream[substream->stream].posn.dai_posn); in sof_pcm_pointer()
412 trace_sof_pcm_pointer_position(sdev, spcm, substream, host, dai); in sof_pcm_pointer()
424 struct snd_sof_pcm *spcm; in sof_pcm_open() local
432 spcm = snd_sof_find_spcm_dai(component, rtd); in sof_pcm_open()
433 if (!spcm) 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()
470 spcm->stream[substream->stream].posn.host_posn = 0; in sof_pcm_open()
471 spcm->stream[substream->stream].posn.dai_posn = 0; in sof_pcm_open()
472 spcm->stream[substream->stream].substream = substream; in sof_pcm_open()
473 spcm->prepared[substream->stream] = false; in sof_pcm_open()
487 struct snd_sof_pcm *spcm; in sof_pcm_close() local
494 spcm = snd_sof_find_spcm_dai(component, rtd); in sof_pcm_close()
495 if (!spcm) in sof_pcm_close()
499 spcm->pcm.pcm_id, substream->stream); in sof_pcm_close()
523 struct snd_sof_pcm *spcm; in sof_pcm_new() local
529 spcm = snd_sof_find_spcm_dai(component, rtd); in sof_pcm_new()
530 if (!spcm) { 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()
561 if (!spcm->pcm.capture) in sof_pcm_new()
564 caps = &spcm->pcm.caps[stream]; in sof_pcm_new()