Lines Matching full:pcm
3 * Digital Audio (PCM) abstract layer
15 #include <sound/pcm.h>
22 MODULE_PARM_DESC(preallocate_dma, "Preallocate DMA memory when the PCM devices are initialized.");
79 struct snd_card *card = substream->pcm->card; in preallocate_pcm_pages()
94 substream->pcm->card->number, substream->pcm->device, in preallocate_pcm_pages()
96 substream->pcm->name, orig_size); in preallocate_pcm_pages()
102 * @substream: the pcm substream instance
108 do_free_pages(substream->pcm->card, &substream->dma_buffer); in snd_pcm_lib_preallocate_free()
112 * snd_pcm_lib_preallocate_free_for_all - release all pre-allocated buffers on the pcm
113 * @pcm: the pcm instance
115 * Releases all the pre-allocated buffers on the given pcm.
117 void snd_pcm_lib_preallocate_free_for_all(struct snd_pcm *pcm) in snd_pcm_lib_preallocate_free_for_all() argument
122 for_each_pcm_substream(pcm, stream, substream) in snd_pcm_lib_preallocate_free_for_all()
161 struct snd_card *card = substream->pcm->card; in snd_pcm_lib_preallocate_proc_write()
166 mutex_lock(&substream->pcm->open_mutex); in snd_pcm_lib_preallocate_proc_write()
190 substream->pcm->card->number, substream->pcm->device, in snd_pcm_lib_preallocate_proc_write()
192 substream->pcm->name, size); in snd_pcm_lib_preallocate_proc_write()
206 mutex_unlock(&substream->pcm->open_mutex); in snd_pcm_lib_preallocate_proc_write()
213 entry = snd_info_create_card_entry(substream->pcm->card, "prealloc", in preallocate_info_init()
221 entry = snd_info_create_card_entry(substream->pcm->card, "prealloc_max", in preallocate_info_init()
273 static int preallocate_pages_for_all(struct snd_pcm *pcm, int type, in preallocate_pages_for_all() argument
280 for_each_pcm_substream(pcm, stream, substream) { in preallocate_pages_for_all()
290 * @substream: the pcm substream instance
308 * @pcm: the pcm instance
314 * Do pre-allocation to all substreams of the given pcm for the
317 void snd_pcm_lib_preallocate_pages_for_all(struct snd_pcm *pcm, in snd_pcm_lib_preallocate_pages_for_all() argument
321 preallocate_pages_for_all(pcm, type, data, size, max, false); in snd_pcm_lib_preallocate_pages_for_all()
327 * @substream: the pcm substream instance
335 * In this mode, PCM core will allocate a buffer automatically before PCM
336 * hw_params ops call, and release the buffer after PCM hw_free ops call
339 * When a buffer is actually allocated before the PCM hw_params call, it
366 * @pcm: the pcm instance
372 * Do pre-allocation to all substreams of the given pcm for the specified DMA
377 int snd_pcm_set_managed_buffer_all(struct snd_pcm *pcm, int type, in snd_pcm_set_managed_buffer_all() argument
381 return preallocate_pages_for_all(pcm, type, data, size, max, true); in snd_pcm_set_managed_buffer_all()
408 card = substream->pcm->card; in snd_pcm_lib_malloc_pages()
438 substream->pcm->card->number, substream->pcm->device, in snd_pcm_lib_malloc_pages()
440 substream->pcm->name, size); in snd_pcm_lib_malloc_pages()
468 struct snd_card *card = substream->pcm->card; in snd_pcm_lib_free_pages()
526 * This function is to be used as the page callback in the PCM ops.