Lines Matching refs:substream
60 static int lpass_platform_pcmops_open(struct snd_pcm_substream *substream) in lpass_platform_pcmops_open() argument
62 struct snd_pcm_runtime *runtime = substream->runtime; in lpass_platform_pcmops_open()
63 struct snd_soc_pcm_runtime *soc_runtime = substream->private_data; in lpass_platform_pcmops_open()
66 snd_soc_set_runtime_hwparams(substream, &lpass_platform_pcm_hardware); in lpass_platform_pcmops_open()
78 snd_pcm_set_runtime_buffer(substream, &substream->dma_buffer); in lpass_platform_pcmops_open()
83 static int lpass_platform_pcmops_hw_params(struct snd_pcm_substream *substream, in lpass_platform_pcmops_hw_params() argument
86 struct snd_soc_pcm_runtime *soc_runtime = substream->private_data; in lpass_platform_pcmops_hw_params()
169 static int lpass_platform_pcmops_hw_free(struct snd_pcm_substream *substream) in lpass_platform_pcmops_hw_free() argument
171 struct snd_soc_pcm_runtime *soc_runtime = substream->private_data; in lpass_platform_pcmops_hw_free()
185 static int lpass_platform_pcmops_prepare(struct snd_pcm_substream *substream) in lpass_platform_pcmops_prepare() argument
187 struct snd_pcm_runtime *runtime = substream->runtime; in lpass_platform_pcmops_prepare()
188 struct snd_soc_pcm_runtime *soc_runtime = substream->private_data; in lpass_platform_pcmops_prepare()
204 (snd_pcm_lib_buffer_bytes(substream) >> 2) - 1); in lpass_platform_pcmops_prepare()
213 (snd_pcm_lib_period_bytes(substream) >> 2) - 1); in lpass_platform_pcmops_prepare()
232 static int lpass_platform_pcmops_trigger(struct snd_pcm_substream *substream, in lpass_platform_pcmops_trigger() argument
235 struct snd_soc_pcm_runtime *soc_runtime = substream->private_data; in lpass_platform_pcmops_trigger()
302 struct snd_pcm_substream *substream) in lpass_platform_pcmops_pointer() argument
304 struct snd_soc_pcm_runtime *soc_runtime = substream->private_data; in lpass_platform_pcmops_pointer()
326 return bytes_to_frames(substream->runtime, curr_addr - base_addr); in lpass_platform_pcmops_pointer()
329 static int lpass_platform_pcmops_mmap(struct snd_pcm_substream *substream, in lpass_platform_pcmops_mmap() argument
332 struct snd_pcm_runtime *runtime = substream->runtime; in lpass_platform_pcmops_mmap()
334 return dma_mmap_coherent(substream->pcm->card->dev, vma, in lpass_platform_pcmops_mmap()
352 struct snd_pcm_substream *substream = data; in lpass_platform_lpaif_irq() local
353 struct snd_soc_pcm_runtime *soc_runtime = substream->private_data; in lpass_platform_lpaif_irq()
378 snd_pcm_period_elapsed(substream); in lpass_platform_lpaif_irq()
392 snd_pcm_stop(substream, SNDRV_PCM_STATE_XRUN); in lpass_platform_lpaif_irq()
406 snd_pcm_stop(substream, SNDRV_PCM_STATE_DISCONNECTED); in lpass_platform_lpaif_irq()
413 static int lpass_platform_alloc_buffer(struct snd_pcm_substream *substream, in lpass_platform_alloc_buffer() argument
416 struct snd_dma_buffer *buf = &substream->dma_buffer; in lpass_platform_alloc_buffer()
434 static void lpass_platform_free_buffer(struct snd_pcm_substream *substream, in lpass_platform_free_buffer() argument
437 struct snd_dma_buffer *buf = &substream->dma_buffer; in lpass_platform_free_buffer()
449 struct snd_pcm_substream *substream = in lpass_platform_pcm_new() local
450 pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream; in lpass_platform_pcm_new()
458 ret = lpass_platform_alloc_buffer(substream, soc_runtime); in lpass_platform_pcm_new()
464 "lpass-irq-lpaif", substream); in lpass_platform_pcm_new()
490 lpass_platform_free_buffer(substream, soc_runtime); in lpass_platform_pcm_new()
496 struct snd_pcm_substream *substream = in lpass_platform_pcm_free() local
497 pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream; in lpass_platform_pcm_free()
498 struct snd_soc_pcm_runtime *soc_runtime = substream->private_data; in lpass_platform_pcm_free()
500 lpass_platform_free_buffer(substream, soc_runtime); in lpass_platform_pcm_free()