Lines Matching refs:substream
130 static void sst_fill_alloc_params(struct snd_pcm_substream *substream, in sst_fill_alloc_params() argument
136 ssize_t buffer_bytes = snd_pcm_lib_buffer_bytes(substream); in sst_fill_alloc_params()
137 u32 buffer_addr = virt_to_phys(substream->dma_buffer.area); in sst_fill_alloc_params()
139 channels = substream->runtime->channels; in sst_fill_alloc_params()
140 period_size = substream->runtime->period_size; in sst_fill_alloc_params()
141 periodbytes = samples_to_bytes(substream->runtime, period_size); in sst_fill_alloc_params()
149 static void sst_fill_pcm_params(struct snd_pcm_substream *substream, in sst_fill_pcm_params() argument
152 param->uc.pcm_params.num_chan = (u8) substream->runtime->channels; in sst_fill_pcm_params()
153 param->uc.pcm_params.pcm_wd_sz = substream->runtime->sample_bits; in sst_fill_pcm_params()
154 param->uc.pcm_params.sfreq = substream->runtime->rate; in sst_fill_pcm_params()
180 int sst_fill_stream_params(void *substream, in sst_fill_stream_params() argument
193 cstream = (struct snd_compr_stream *)substream; in sst_fill_stream_params()
195 pstream = (struct snd_pcm_substream *)substream; in sst_fill_stream_params()
229 static int sst_platform_alloc_stream(struct snd_pcm_substream *substream, in sst_platform_alloc_stream() argument
233 substream->runtime->private_data; in sst_platform_alloc_stream()
241 sst_fill_pcm_params(substream, ¶m); in sst_platform_alloc_stream()
242 sst_fill_alloc_params(substream, &alloc_params); in sst_platform_alloc_stream()
243 substream->runtime->dma_area = substream->dma_buffer.area; in sst_platform_alloc_stream()
249 ret_val = sst_fill_stream_params(substream, ctx, &str_params, false); in sst_platform_alloc_stream()
265 struct snd_pcm_substream *substream = arg; in sst_period_elapsed() local
269 if (!substream || !substream->runtime) in sst_period_elapsed()
271 stream = substream->runtime->private_data; in sst_period_elapsed()
277 snd_pcm_period_elapsed(substream); in sst_period_elapsed()
280 static int sst_platform_init_stream(struct snd_pcm_substream *substream) in sst_platform_init_stream() argument
283 substream->runtime->private_data; in sst_platform_init_stream()
284 struct snd_soc_pcm_runtime *rtd = substream->private_data; in sst_platform_init_stream()
290 stream->stream_info.arg = substream; in sst_platform_init_stream()
292 stream->stream_info.sfreq = substream->runtime->rate; in sst_platform_init_stream()
310 static int sst_media_open(struct snd_pcm_substream *substream, in sst_media_open() argument
314 struct snd_pcm_runtime *runtime = substream->runtime; in sst_media_open()
335 stream->stream_info.arg = substream; in sst_media_open()
344 snd_pcm_hw_constraint_step(substream->runtime, 0, in sst_media_open()
355 static void sst_media_close(struct snd_pcm_substream *substream, in sst_media_close() argument
361 stream = substream->runtime->private_data; in sst_media_close()
371 static int sst_media_prepare(struct snd_pcm_substream *substream, in sst_media_prepare() argument
377 stream = substream->runtime->private_data; in sst_media_prepare()
384 ret_val = sst_platform_alloc_stream(substream, dai); in sst_media_prepare()
387 snprintf(substream->pcm->id, sizeof(substream->pcm->id), in sst_media_prepare()
390 ret_val = sst_platform_init_stream(substream); in sst_media_prepare()
393 substream->runtime->hw.info = SNDRV_PCM_INFO_BLOCK_TRANSFER; in sst_media_prepare()
397 static int sst_media_hw_params(struct snd_pcm_substream *substream, in sst_media_hw_params() argument
401 snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params)); in sst_media_hw_params()
402 memset(substream->runtime->dma_area, 0, params_buffer_bytes(params)); in sst_media_hw_params()
406 static int sst_media_hw_free(struct snd_pcm_substream *substream, in sst_media_hw_free() argument
409 return snd_pcm_lib_free_pages(substream); in sst_media_hw_free()
412 static int sst_enable_ssp(struct snd_pcm_substream *substream, in sst_enable_ssp() argument
424 static int sst_be_hw_params(struct snd_pcm_substream *substream, in sst_be_hw_params() argument
464 static void sst_disable_ssp(struct snd_pcm_substream *substream, in sst_disable_ssp() argument
582 static int sst_platform_open(struct snd_pcm_substream *substream) in sst_platform_open() argument
586 if (substream->pcm->internal) in sst_platform_open()
589 runtime = substream->runtime; in sst_platform_open()
594 static int sst_platform_pcm_trigger(struct snd_pcm_substream *substream, in sst_platform_pcm_trigger() argument
600 struct snd_soc_pcm_runtime *rtd = substream->private_data; in sst_platform_pcm_trigger()
603 if (substream->pcm->internal) in sst_platform_pcm_trigger()
605 stream = substream->runtime->private_data; in sst_platform_pcm_trigger()
611 stream->stream_info.arg = substream; in sst_platform_pcm_trigger()
643 (struct snd_pcm_substream *substream) in sst_platform_pcm_pointer() argument
648 struct snd_soc_pcm_runtime *rtd = substream->private_data; in sst_platform_pcm_pointer()
650 stream = substream->runtime->private_data; in sst_platform_pcm_pointer()
660 substream->runtime->delay = str_info->pcm_delay; in sst_platform_pcm_pointer()