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.");
74 struct snd_card *card = substream->pcm->card; in preallocate_pcm_pages()
89 substream->pcm->card->number, substream->pcm->device, in preallocate_pcm_pages()
91 substream->pcm->name, orig_size); in preallocate_pcm_pages()
97 * @substream: the pcm substream instance
103 do_free_pages(substream->pcm->card, &substream->dma_buffer); in snd_pcm_lib_preallocate_free()
107 * snd_pcm_lib_preallocate_free_for_all - release all pre-allocated buffers on the pcm
108 * @pcm: the pcm instance
110 * Releases all the pre-allocated buffers on the given pcm.
112 void snd_pcm_lib_preallocate_free_for_all(struct snd_pcm *pcm) in snd_pcm_lib_preallocate_free_for_all() argument
117 for_each_pcm_substream(pcm, stream, substream) in snd_pcm_lib_preallocate_free_for_all()
156 struct snd_card *card = substream->pcm->card; in snd_pcm_lib_preallocate_proc_write()
183 substream->pcm->card->number, substream->pcm->device, in snd_pcm_lib_preallocate_proc_write()
185 substream->pcm->name, size); in snd_pcm_lib_preallocate_proc_write()
204 entry = snd_info_create_card_entry(substream->pcm->card, "prealloc", in preallocate_info_init()
212 entry = snd_info_create_card_entry(substream->pcm->card, "prealloc_max", in preallocate_info_init()
264 static int preallocate_pages_for_all(struct snd_pcm *pcm, int type, in preallocate_pages_for_all() argument
271 for_each_pcm_substream(pcm, stream, substream) { in preallocate_pages_for_all()
281 * @substream: the pcm substream instance
299 * @pcm: the pcm instance
305 * Do pre-allocation to all substreams of the given pcm for the
308 void snd_pcm_lib_preallocate_pages_for_all(struct snd_pcm *pcm, in snd_pcm_lib_preallocate_pages_for_all() argument
312 preallocate_pages_for_all(pcm, type, data, size, max, false); in snd_pcm_lib_preallocate_pages_for_all()
318 * @substream: the pcm substream instance
326 * In this mode, PCM core will allocate a buffer automatically before PCM
327 * hw_params ops call, and release the buffer after PCM hw_free ops call
330 * When a buffer is actually allocated before the PCM hw_params call, it
355 * @pcm: the pcm instance
361 * Do pre-allocation to all substreams of the given pcm for the specified DMA
364 int snd_pcm_set_managed_buffer_all(struct snd_pcm *pcm, int type, in snd_pcm_set_managed_buffer_all() argument
368 return preallocate_pages_for_all(pcm, type, data, size, max, true); in snd_pcm_set_managed_buffer_all()
395 card = substream->pcm->card; in snd_pcm_lib_malloc_pages()
424 substream->pcm->card->number, substream->pcm->device, in snd_pcm_lib_malloc_pages()
426 substream->pcm->name, size); in snd_pcm_lib_malloc_pages()
446 struct snd_card *card = substream->pcm->card; in snd_pcm_lib_free_pages()
511 * This function is to be used as the page callback in the PCM ops.