Lines Matching defs:stream
31 int stream = substream->stream;
38 spcm->stream[stream].page_table.area, size);
82 "error: period elapsed for unknown stream!\n");
94 schedule_work(&spcm->stream[substream->stream].period_elapsed_work);
102 struct sof_ipc_stream stream;
106 stream.hdr.size = sizeof(stream);
107 stream.hdr.cmd = SOF_IPC_GLB_STREAM_MSG | SOF_IPC_STREAM_PCM_FREE;
108 stream.comp_id = spcm->stream[substream->stream].comp_id;
111 ret = sof_ipc_tx_message(sdev->ipc, stream.hdr.cmd, &stream,
112 sizeof(stream), &reply, sizeof(reply));
114 spcm->prepared[substream->stream] = false;
143 if (spcm->prepared[substream->stream]) {
149 dev_dbg(component->dev, "pcm: hw params stream %d dir %d\n",
150 spcm->pcm.pcm_id, substream->stream);
168 pcm.comp_id = spcm->stream[substream->stream].comp_id;
171 spcm->stream[substream->stream].page_table.addr;
173 pcm.params.direction = substream->stream;
204 /* firmware already configured host stream */
220 dev_err(component->dev, "error: hw params ipc failed for stream %d\n",
229 spcm->prepared[substream->stream] = true;
232 memcpy(&spcm->params[substream->stream], params, sizeof(*params));
253 dev_dbg(component->dev, "pcm: free stream %d dir %d\n",
254 spcm->pcm.pcm_id, substream->stream);
256 if (spcm->prepared[substream->stream]) {
262 cancel_work_sync(&spcm->stream[substream->stream].period_elapsed_work);
288 if (spcm->prepared[substream->stream])
291 dev_dbg(component->dev, "pcm: prepare stream %d dir %d\n",
292 spcm->pcm.pcm_id, substream->stream);
296 substream, &spcm->params[substream->stream]);
316 struct sof_ipc_stream stream;
330 dev_dbg(component->dev, "pcm: trigger stream %d dir %d cmd %d\n",
331 spcm->pcm.pcm_id, substream->stream, cmd);
333 stream.hdr.size = sizeof(stream);
334 stream.hdr.cmd = SOF_IPC_GLB_STREAM_MSG;
335 stream.comp_id = spcm->stream[substream->stream].comp_id;
339 stream.hdr.cmd |= SOF_IPC_STREAM_TRIG_PAUSE;
343 stream.hdr.cmd |= SOF_IPC_STREAM_TRIG_RELEASE;
346 if (spcm->stream[substream->stream].suspend_ignored) {
352 spcm->stream[substream->stream].suspend_ignored = false;
366 if (spcm->stream[substream->stream].suspend_ignored) {
372 spcm->stream[substream->stream].suspend_ignored = false;
375 stream.hdr.cmd |= SOF_IPC_STREAM_TRIG_START;
379 spcm->stream[substream->stream].d0i3_compatible) {
386 spcm->stream[substream->stream].suspend_ignored = true;
391 stream.hdr.cmd |= SOF_IPC_STREAM_TRIG_STOP;
409 ret = sof_ipc_tx_message(sdev->ipc, stream.hdr.cmd, &stream,
410 sizeof(stream), &reply, sizeof(reply));
445 spcm->stream[substream->stream].posn.host_posn);
447 spcm->stream[substream->stream].posn.dai_posn);
450 "PCM: stream %d dir %d DMA position %lu DAI position %lu\n",
451 spcm->pcm.pcm_id, substream->stream, host, dai);
475 dev_dbg(component->dev, "pcm: open stream %d dir %d\n",
476 spcm->pcm.pcm_id, substream->stream);
479 caps = &spcm->pcm.caps[substream->stream];
516 spcm->stream[substream->stream].posn.host_posn = 0;
517 spcm->stream[substream->stream].posn.dai_posn = 0;
518 spcm->stream[substream->stream].substream = substream;
519 spcm->prepared[substream->stream] = false;
544 dev_dbg(component->dev, "pcm: close stream %d dir %d\n",
545 spcm->pcm.pcm_id, substream->stream);
572 int stream = SNDRV_PCM_STREAM_PLAYBACK;
588 caps = &spcm->pcm.caps[stream];
595 if (!pcm->streams[stream].substream) {
600 snd_pcm_set_managed_buffer(pcm->streams[stream].substream,
604 stream = SNDRV_PCM_STREAM_CAPTURE;
610 caps = &spcm->pcm.caps[stream];
617 if (!pcm->streams[stream].substream) {
622 snd_pcm_set_managed_buffer(pcm->streams[stream].substream,