Lines Matching refs:substream

25 			     struct snd_pcm_substream *substream,
28 struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
30 struct snd_dma_buffer *dmab = snd_pcm_get_dma_buf(substream);
31 int stream = substream->stream;
50 snd_pcm_period_elapsed(sps->substream);
61 void snd_sof_pcm_period_elapsed(struct snd_pcm_substream *substream)
63 struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
83 schedule_work(&spcm->stream[substream->stream].period_elapsed_work);
123 struct snd_pcm_substream *substream,
127 struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
130 struct snd_pcm_runtime *runtime = substream->runtime;
146 if (pcm_ops && pcm_ops->hw_free && spcm->prepared[substream->stream]) {
147 ret = pcm_ops->hw_free(component, substream);
151 spcm->prepared[substream->stream] = false;
155 spcm->pcm.pcm_id, substream->stream);
157 ret = snd_sof_pcm_platform_hw_params(sdev, substream, params, &platform_params);
164 if (!spcm->stream[substream->stream].list) {
166 substream->stream);
173 ret = create_page_table(component, substream, runtime->dma_area,
181 ret = pcm_ops->hw_params(component, substream, params, &platform_params);
186 spcm->prepared[substream->stream] = true;
189 memcpy(&spcm->params[substream->stream], params, sizeof(*params));
195 struct snd_pcm_substream *substream)
197 struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
212 spcm->pcm.pcm_id, substream->stream);
214 if (spcm->prepared[substream->stream]) {
217 snd_sof_pcm_platform_trigger(sdev, substream, SNDRV_PCM_TRIGGER_STOP);
221 ret = pcm_ops->hw_free(component, substream);
226 spcm->prepared[substream->stream] = false;
230 ret = snd_sof_pcm_platform_hw_free(sdev, substream);
237 ret = sof_widget_list_free(sdev, spcm, substream->stream);
241 cancel_work_sync(&spcm->stream[substream->stream].period_elapsed_work);
247 struct snd_pcm_substream *substream)
249 struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
261 if (spcm->prepared[substream->stream])
265 spcm->pcm.pcm_id, substream->stream);
269 substream, &spcm->params[substream->stream]);
284 struct snd_pcm_substream *substream, int cmd)
286 struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
303 spcm->pcm.pcm_id, substream->stream, cmd);
314 if (spcm->stream[substream->stream].suspend_ignored) {
320 spcm->stream[substream->stream].suspend_ignored = false;
334 spcm->stream[substream->stream].d0i3_compatible) {
335 spcm->stream[substream->stream].suspend_ignored = true;
355 snd_sof_pcm_platform_trigger(sdev, substream, cmd);
358 ret = pcm_ops->trigger(component, substream, cmd);
365 snd_sof_pcm_platform_trigger(sdev, substream, cmd);
372 snd_sof_pcm_platform_trigger(sdev, substream, cmd);
380 ret = sof_pcm_stream_free(sdev, substream, spcm, substream->stream, false);
386 struct snd_pcm_substream *substream)
388 struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
400 ret = pcm_ops->pointer(component, substream, &host);
407 return sof_ops(sdev)->pcm_pointer(sdev, substream);
414 host = bytes_to_frames(substream->runtime,
415 spcm->stream[substream->stream].posn.host_posn);
416 dai = bytes_to_frames(substream->runtime,
417 spcm->stream[substream->stream].posn.dai_posn);
419 trace_sof_pcm_pointer_position(sdev, spcm, substream, host, dai);
425 struct snd_pcm_substream *substream)
427 struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
428 struct snd_pcm_runtime *runtime = substream->runtime;
444 spcm->pcm.pcm_id, substream->stream);
447 caps = &spcm->pcm.caps[substream->stream];
475 substream->wait_time = 500;
477 spcm->stream[substream->stream].posn.host_posn = 0;
478 spcm->stream[substream->stream].posn.dai_posn = 0;
479 spcm->stream[substream->stream].substream = substream;
480 spcm->prepared[substream->stream] = false;
482 ret = snd_sof_pcm_platform_open(sdev, substream);
490 struct snd_pcm_substream *substream)
492 struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
506 spcm->pcm.pcm_id, substream->stream);
508 err = snd_sof_pcm_platform_close(sdev, substream);
556 if (!pcm->streams[stream].substream) {
557 dev_err(component->dev, "error: NULL playback substream!\n");
561 snd_pcm_set_managed_buffer(pcm->streams[stream].substream,
578 if (!pcm->streams[stream].substream) {
579 dev_err(component->dev, "error: NULL capture substream!\n");
583 snd_pcm_set_managed_buffer(pcm->streams[stream].substream,
677 struct snd_pcm_substream *substream)
681 return snd_sof_pcm_platform_ack(sdev, substream);
685 struct snd_pcm_substream *substream)
691 return pcm_ops->delay(component, substream);