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.");
73 struct snd_card *card = substream->pcm->card; in preallocate_pcm_pages()
86 substream->pcm->card->number, substream->pcm->device, in preallocate_pcm_pages()
88 substream->pcm->name, orig_size); in preallocate_pcm_pages()
97 do_free_pages(substream->pcm->card, &substream->dma_buffer); in snd_pcm_lib_preallocate_dma_free()
102 * @substream: the pcm substream instance
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
123 for (substream = pcm->streams[stream].substream; substream; substream = substream->next) in snd_pcm_lib_preallocate_free_for_all()
162 struct snd_card *card = substream->pcm->card; in snd_pcm_lib_preallocate_proc_write()
206 entry = snd_info_create_card_entry(substream->pcm->card, "prealloc", in preallocate_info_init()
214 entry = snd_info_create_card_entry(substream->pcm->card, "prealloc_max", in preallocate_info_init()
250 static void preallocate_pages_for_all(struct snd_pcm *pcm, int type, in preallocate_pages_for_all() argument
258 for (substream = pcm->streams[stream].substream; substream; in preallocate_pages_for_all()
266 * @substream: the pcm substream instance
284 * @pcm: the pcm instance
290 * Do pre-allocation to all substreams of the given pcm for the
293 void snd_pcm_lib_preallocate_pages_for_all(struct snd_pcm *pcm, in snd_pcm_lib_preallocate_pages_for_all() argument
297 preallocate_pages_for_all(pcm, type, data, size, max, false); in snd_pcm_lib_preallocate_pages_for_all()
303 * @substream: the pcm substream instance
311 * In this mode, PCM core will allocate a buffer automatically before PCM
312 * hw_params ops call, and release the buffer after PCM hw_free ops call
315 * When a buffer is actually allocated before the PCM hw_params call, it
329 * @pcm: the pcm instance
335 * Do pre-allocation to all substreams of the given pcm for the specified DMA
338 void snd_pcm_set_managed_buffer_all(struct snd_pcm *pcm, int type, in snd_pcm_set_managed_buffer_all() argument
342 preallocate_pages_for_all(pcm, type, data, size, max, true); in snd_pcm_set_managed_buffer_all()
349 * @substream: the pcm substream instance
352 * Used as the page callback of PCM ops.
390 card = substream->pcm->card; in snd_pcm_lib_malloc_pages()
434 struct snd_card *card = substream->pcm->card; in snd_pcm_lib_free_pages()
499 * This function is to be used as the page callback in the PCM ops.