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.");
107 struct snd_card *card = substream->pcm->card; in preallocate_pcm_pages()
122 substream->pcm->card->number, substream->pcm->device, in preallocate_pcm_pages()
124 substream->pcm->name, orig_size); in preallocate_pcm_pages()
130 * @substream: the pcm substream instance
136 do_free_pages(substream->pcm->card, &substream->dma_buffer); in snd_pcm_lib_preallocate_free()
140 * snd_pcm_lib_preallocate_free_for_all - release all pre-allocated buffers on the pcm
141 * @pcm: the pcm instance
143 * Releases all the pre-allocated buffers on the given pcm.
145 void snd_pcm_lib_preallocate_free_for_all(struct snd_pcm *pcm) in snd_pcm_lib_preallocate_free_for_all() argument
150 for_each_pcm_substream(pcm, stream, substream) in snd_pcm_lib_preallocate_free_for_all()
189 struct snd_card *card = substream->pcm->card; in snd_pcm_lib_preallocate_proc_write()
194 mutex_lock(&substream->pcm->open_mutex); in snd_pcm_lib_preallocate_proc_write()
218 substream->pcm->card->number, substream->pcm->device, in snd_pcm_lib_preallocate_proc_write()
220 substream->pcm->name, size); in snd_pcm_lib_preallocate_proc_write()
234 mutex_unlock(&substream->pcm->open_mutex); in snd_pcm_lib_preallocate_proc_write()
241 entry = snd_info_create_card_entry(substream->pcm->card, "prealloc", in preallocate_info_init()
249 entry = snd_info_create_card_entry(substream->pcm->card, "prealloc_max", in preallocate_info_init()
301 static int preallocate_pages_for_all(struct snd_pcm *pcm, int type, in preallocate_pages_for_all() argument
308 for_each_pcm_substream(pcm, stream, substream) { in preallocate_pages_for_all()
318 * @substream: the pcm substream instance
336 * @pcm: the pcm instance
342 * Do pre-allocation to all substreams of the given pcm for the
345 void snd_pcm_lib_preallocate_pages_for_all(struct snd_pcm *pcm, in snd_pcm_lib_preallocate_pages_for_all() argument
349 preallocate_pages_for_all(pcm, type, data, size, max, false); in snd_pcm_lib_preallocate_pages_for_all()
355 * @substream: the pcm substream instance
363 * In this mode, PCM core will allocate a buffer automatically before PCM
364 * hw_params ops call, and release the buffer after PCM hw_free ops call
367 * When a buffer is actually allocated before the PCM hw_params call, it
394 * @pcm: the pcm instance
400 * Do pre-allocation to all substreams of the given pcm for the specified DMA
405 int snd_pcm_set_managed_buffer_all(struct snd_pcm *pcm, int type, in snd_pcm_set_managed_buffer_all() argument
409 return preallocate_pages_for_all(pcm, type, data, size, max, true); in snd_pcm_set_managed_buffer_all()
436 card = substream->pcm->card; in snd_pcm_lib_malloc_pages()
466 substream->pcm->card->number, substream->pcm->device, in snd_pcm_lib_malloc_pages()
468 substream->pcm->name, size); in snd_pcm_lib_malloc_pages()
496 struct snd_card *card = substream->pcm->card; in snd_pcm_lib_free_pages()
554 * This function is to be used as the page callback in the PCM ops.