Lines Matching defs:spcm

29 	struct snd_sof_pcm *spcm;
33 spcm = snd_sof_find_spcm_dai(component, rtd);
34 if (!spcm)
38 spcm->stream[stream].page_table.area, size);
66 struct snd_sof_pcm *spcm;
68 spcm = snd_sof_find_spcm_dai(component, rtd);
69 if (!spcm) {
83 schedule_work(&spcm->stream[substream->stream].period_elapsed_work);
89 struct snd_sof_pcm *spcm, struct snd_pcm_hw_params *params,
107 spcm->stream[dir].list = list;
109 ret = sof_widget_list_setup(sdev, spcm, params, platform_params, dir);
112 spcm->pcm.pcm_id, dir);
113 spcm->stream[dir].list = NULL;
131 struct snd_sof_pcm *spcm;
138 spcm = snd_sof_find_spcm_dai(component, rtd);
139 if (!spcm)
146 if (pcm_ops && pcm_ops->hw_free && spcm->prepared[substream->stream]) {
151 spcm->prepared[substream->stream] = false;
155 spcm->pcm.pcm_id, substream->stream);
164 if (!spcm->stream[substream->stream].list) {
165 ret = sof_pcm_setup_connected_widgets(sdev, rtd, spcm, params, &platform_params,
186 spcm->prepared[substream->stream] = true;
189 memcpy(&spcm->params[substream->stream], params, sizeof(*params));
199 struct snd_sof_pcm *spcm;
206 spcm = snd_sof_find_spcm_dai(component, rtd);
207 if (!spcm)
211 spcm->pcm.pcm_id, substream->stream);
213 ret = sof_pcm_stream_free(sdev, substream, spcm, substream->stream, true);
215 cancel_work_sync(&spcm->stream[substream->stream].period_elapsed_work);
225 struct snd_sof_pcm *spcm;
232 spcm = snd_sof_find_spcm_dai(component, rtd);
233 if (!spcm)
236 if (spcm->prepared[substream->stream]) {
237 if (!spcm->pending_stop[substream->stream])
244 ret = sof_pcm_stream_free(sdev, substream, spcm, substream->stream, true);
250 spcm->pcm.pcm_id, substream->stream);
254 substream, &spcm->params[substream->stream]);
274 struct snd_sof_pcm *spcm;
283 spcm = snd_sof_find_spcm_dai(component, rtd);
284 if (!spcm)
288 spcm->pcm.pcm_id, substream->stream, cmd);
290 spcm->pending_stop[substream->stream] = false;
301 if (spcm->stream[substream->stream].suspend_ignored) {
307 spcm->stream[substream->stream].suspend_ignored = false;
321 spcm->stream[substream->stream].d0i3_compatible) {
322 spcm->stream[substream->stream].suspend_ignored = true;
368 spcm->pending_stop[substream->stream] = true;
376 ret = sof_pcm_stream_free(sdev, substream, spcm, substream->stream, false);
387 struct snd_sof_pcm *spcm;
405 spcm = snd_sof_find_spcm_dai(component, rtd);
406 if (!spcm)
411 spcm->stream[substream->stream].posn.host_posn);
413 spcm->stream[substream->stream].posn.dai_posn);
415 trace_sof_pcm_pointer_position(sdev, spcm, substream, host, dai);
427 struct snd_sof_pcm *spcm;
435 spcm = snd_sof_find_spcm_dai(component, rtd);
436 if (!spcm)
440 spcm->pcm.pcm_id, substream->stream);
443 caps = &spcm->pcm.caps[substream->stream];
473 spcm->stream[substream->stream].posn.host_posn = 0;
474 spcm->stream[substream->stream].posn.dai_posn = 0;
475 spcm->stream[substream->stream].substream = substream;
476 spcm->prepared[substream->stream] = false;
490 struct snd_sof_pcm *spcm;
497 spcm = snd_sof_find_spcm_dai(component, rtd);
498 if (!spcm)
502 spcm->pcm.pcm_id, substream->stream);
526 struct snd_sof_pcm *spcm;
532 spcm = snd_sof_find_spcm_dai(component, rtd);
533 if (!spcm) {
539 dev_dbg(component->dev, "creating new PCM %s\n", spcm->pcm.pcm_name);
542 if (!spcm->pcm.playback)
545 caps = &spcm->pcm.caps[stream];
549 "spcm: allocate %s playback DMA buffer size 0x%x max 0x%x\n",
564 if (!spcm->pcm.capture)
567 caps = &spcm->pcm.caps[stream];
571 "spcm: allocate %s capture DMA buffer size 0x%x max 0x%x\n",