Lines Matching defs:stream
86 if (substream->stream == SNDRV_PCM_STREAM_CAPTURE)
90 if (substream->stream == SNDRV_PCM_STREAM_CAPTURE)
118 struct catpt_stream_runtime *stream)
122 memcpy_fromio(&pos, cdev->lpe_ba + stream->info.read_pos_regaddr,
128 struct catpt_stream_runtime *stream, u32 channel)
135 offset = stream->info.volume_regaddr[channel];
264 struct catpt_stream_runtime *stream;
270 stream = kzalloc(sizeof(*stream), GFP_KERNEL);
271 if (!stream)
275 &stream->pgtbl);
287 stream->template = template;
288 stream->persistent = res;
289 stream->substream = substream;
290 INIT_LIST_HEAD(&stream->node);
291 snd_soc_dai_set_dma_data(dai, substream, stream);
294 list_add_tail(&stream->node, &cdev->stream_list);
300 snd_dma_free_pages(&stream->pgtbl);
302 kfree(stream);
310 struct catpt_stream_runtime *stream;
312 stream = snd_soc_dai_get_dma_data(dai, substream);
315 list_del(&stream->node);
318 release_resource(stream->persistent);
319 kfree(stream->persistent);
322 snd_dma_free_pages(&stream->pgtbl);
323 kfree(stream);
332 struct catpt_stream_runtime *stream;
339 stream = snd_soc_dai_get_dma_data(dai, substream);
340 if (stream->allocated)
353 catpt_arrange_page_table(substream, &stream->pgtbl);
356 rinfo.page_table_addr = stream->pgtbl.addr;
362 ret = catpt_ipc_alloc_stream(cdev, stream->template->path_id,
363 stream->template->type,
365 stream->template->num_entries,
366 stream->template->entries,
367 stream->persistent,
369 &stream->info);
373 stream->allocated = true;
381 struct catpt_stream_runtime *stream;
383 stream = snd_soc_dai_get_dma_data(dai, substream);
384 if (!stream->allocated)
387 catpt_ipc_reset_stream(cdev, stream->info.stream_hw_id);
388 catpt_ipc_free_stream(cdev, stream->info.stream_hw_id);
390 stream->allocated = false;
397 struct catpt_stream_runtime *stream)
404 u32 id = stream->info.stream_hw_id;
434 if (stream->template->type != CATPT_STRM_TYPE_LOOPBACK)
446 struct catpt_stream_runtime *stream;
449 stream = snd_soc_dai_get_dma_data(dai, substream);
450 if (stream->prepared)
453 ret = catpt_ipc_reset_stream(cdev, stream->info.stream_hw_id);
457 ret = catpt_ipc_pause_stream(cdev, stream->info.stream_hw_id);
461 ret = catpt_dai_apply_usettings(dai, stream);
465 stream->prepared = true;
473 struct catpt_stream_runtime *stream;
478 stream = snd_soc_dai_get_dma_data(dai, substream);
483 if (stream->template->type != CATPT_STRM_TYPE_RENDER)
489 * (entire buffer filled) prior to stream start.
491 ret = catpt_ipc_set_write_pos(cdev, stream->info.stream_hw_id,
500 ret = catpt_ipc_resume_stream(cdev, stream->info.stream_hw_id);
506 stream->prepared = false;
510 ret = catpt_ipc_pause_stream(cdev, stream->info.stream_hw_id);
524 struct catpt_stream_runtime *stream,
527 struct snd_pcm_substream *substream = stream->substream;
534 if (!stream->prepared)
537 if (stream->template->type != CATPT_STRM_TYPE_RENDER)
546 * (buffer half consumed) update wp to allow stream progression.
548 ret = catpt_ipc_set_write_pos(cdev, stream->info.stream_hw_id,
552 dev_err(cdev->dev, "update position for stream %d failed: %d\n",
553 stream->info.stream_hw_id, ret);
611 struct catpt_stream_runtime *stream;
619 stream = snd_soc_dai_get_dma_data(cpu_dai, substream);
620 pos = catpt_stream_read_position(cdev, stream);
900 struct catpt_stream_runtime *stream;
905 stream = catpt_stream_find(cdev, pin_id);
906 if (!stream) {
915 dspvol = catpt_stream_volume(cdev, stream, i);
932 struct catpt_stream_runtime *stream;
936 stream = catpt_stream_find(cdev, pin_id);
937 if (!stream) {
945 ret = catpt_set_dspvol(cdev, stream->info.stream_hw_id,
1008 struct catpt_stream_runtime *stream;
1013 stream = catpt_stream_find(cdev, CATPT_PIN_ID_REFERENCE);
1014 if (!stream) {
1021 ret = catpt_ipc_mute_loopback(cdev, stream->info.stream_hw_id, mute);
1074 /* Master volume (mixer stream) */