Lines Matching refs:stream
164 u32 (*notify_position)(struct sst_byt_stream *stream, void *data);
216 struct sst_byt_stream *stream; in sst_byt_get_stream() local
218 list_for_each_entry(stream, &byt->stream_list, node) { in sst_byt_get_stream()
219 if (stream->str_id == stream_id) in sst_byt_get_stream()
220 return stream; in sst_byt_get_stream()
228 struct sst_byt_stream *stream; in sst_byt_stream_update() local
233 stream = sst_byt_get_stream(byt, stream_id); in sst_byt_stream_update()
234 if (stream == NULL) in sst_byt_stream_update()
241 stream->running = false; in sst_byt_stream_update()
245 stream->running = true; in sst_byt_stream_update()
285 struct sst_byt_stream *stream; in sst_byt_process_notification() local
296 stream = sst_byt_get_stream(byt, stream_id); in sst_byt_process_notification()
297 if (stream && stream->running && stream->notify_position) { in sst_byt_process_notification()
299 stream->notify_position(stream, stream->pdata); in sst_byt_process_notification()
354 u32 (*notify_position)(struct sst_byt_stream *stream, void *data), in sst_byt_stream_new() argument
357 struct sst_byt_stream *stream; in sst_byt_stream_new() local
361 stream = kzalloc(sizeof(*stream), GFP_KERNEL); in sst_byt_stream_new()
362 if (stream == NULL) in sst_byt_stream_new()
366 list_add(&stream->node, &byt->stream_list); in sst_byt_stream_new()
367 stream->notify_position = notify_position; in sst_byt_stream_new()
368 stream->pdata = data; in sst_byt_stream_new()
369 stream->byt = byt; in sst_byt_stream_new()
370 stream->str_id = id; in sst_byt_stream_new()
373 return stream; in sst_byt_stream_new()
376 int sst_byt_stream_set_bits(struct sst_byt *byt, struct sst_byt_stream *stream, in sst_byt_stream_set_bits() argument
379 stream->request.pcm_params.pcm_wd_sz = bits; in sst_byt_stream_set_bits()
384 struct sst_byt_stream *stream, u8 channels) in sst_byt_stream_set_channels() argument
386 stream->request.pcm_params.num_chan = channels; in sst_byt_stream_set_channels()
390 int sst_byt_stream_set_rate(struct sst_byt *byt, struct sst_byt_stream *stream, in sst_byt_stream_set_rate() argument
393 stream->request.pcm_params.sfreq = rate; in sst_byt_stream_set_rate()
398 int sst_byt_stream_type(struct sst_byt *byt, struct sst_byt_stream *stream, in sst_byt_stream_type() argument
401 stream->request.str_type.codec_type = codec_type; in sst_byt_stream_type()
402 stream->request.str_type.str_type = stream_type; in sst_byt_stream_type()
403 stream->request.str_type.operation = operation; in sst_byt_stream_type()
404 stream->request.str_type.time_slots = 0xc; in sst_byt_stream_type()
409 int sst_byt_stream_buffer(struct sst_byt *byt, struct sst_byt_stream *stream, in sst_byt_stream_buffer() argument
412 stream->request.frame_info.num_entries = 1; in sst_byt_stream_buffer()
413 stream->request.frame_info.ring_buf_info[0].addr = buffer_addr; in sst_byt_stream_buffer()
414 stream->request.frame_info.ring_buf_info[0].size = buffer_size; in sst_byt_stream_buffer()
416 stream->request.frame_info.frag_size = in sst_byt_stream_buffer()
417 stream->request.pcm_params.sfreq * in sst_byt_stream_buffer()
418 stream->request.pcm_params.num_chan * in sst_byt_stream_buffer()
419 stream->request.pcm_params.pcm_wd_sz / 8 * in sst_byt_stream_buffer()
424 int sst_byt_stream_commit(struct sst_byt *byt, struct sst_byt_stream *stream) in sst_byt_stream_commit() argument
426 struct sst_byt_alloc_params *str_req = &stream->request; in sst_byt_stream_commit()
427 struct sst_byt_alloc_response *reply = &stream->reply; in sst_byt_stream_commit()
433 true, stream->str_id); in sst_byt_stream_commit()
442 stream->commited = true; in sst_byt_stream_commit()
447 int sst_byt_stream_free(struct sst_byt *byt, struct sst_byt_stream *stream) in sst_byt_stream_free() argument
454 if (!stream->commited) in sst_byt_stream_free()
457 header = sst_byt_header(IPC_IA_FREE_STREAM, 0, false, stream->str_id); in sst_byt_stream_free()
461 stream->str_id); in sst_byt_stream_free()
465 stream->commited = false; in sst_byt_stream_free()
468 list_del(&stream->node); in sst_byt_stream_free()
469 kfree(stream); in sst_byt_stream_free()
490 int sst_byt_stream_start(struct sst_byt *byt, struct sst_byt_stream *stream, in sst_byt_stream_start() argument
502 true, stream->str_id); in sst_byt_stream_start()
509 stream->str_id); in sst_byt_stream_start()
514 int sst_byt_stream_stop(struct sst_byt *byt, struct sst_byt_stream *stream) in sst_byt_stream_stop() argument
519 if (!stream->commited) in sst_byt_stream_stop()
523 stream->str_id, 0); in sst_byt_stream_stop()
526 stream->str_id); in sst_byt_stream_stop()
530 int sst_byt_stream_pause(struct sst_byt *byt, struct sst_byt_stream *stream) in sst_byt_stream_pause() argument
535 stream->str_id, 0); in sst_byt_stream_pause()
538 stream->str_id); in sst_byt_stream_pause()
543 int sst_byt_stream_resume(struct sst_byt *byt, struct sst_byt_stream *stream) in sst_byt_stream_resume() argument
548 stream->str_id, 0); in sst_byt_stream_resume()
551 stream->str_id); in sst_byt_stream_resume()
557 struct sst_byt_stream *stream, int buffer_size) in sst_byt_get_dsp_position() argument
561 u8 str_id = stream->str_id; in sst_byt_get_dsp_position()