diff options
author | Takashi Iwai <tiwai@suse.de> | 2010-01-18 14:58:57 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-01-18 15:00:34 +0100 |
commit | c32d977b8157bf67cdf47729ce7dd054a26eb534 (patch) | |
tree | fedbd1c0d4382e88362abf81f719e6f127e19fa7 /sound/core | |
parent | ALSA: pcm - Remove unneeded ifdef pgprot_noncached (diff) | |
download | linux-c32d977b8157bf67cdf47729ce7dd054a26eb534.tar.xz linux-c32d977b8157bf67cdf47729ce7dd054a26eb534.zip |
ALSA: pcm - Call pgprot_noncached() for vmalloc'ed buffers
pgprot_noncached() can be set for vmalloc'ed buffers safely, and we'd
need non-cached behavior more or less, even for the intermediate ring-
buffers.
Now snd_pcm_lib_mmap_vmalloc() is added as the common PCM mmap callback
that is coupled with snd_pcm_lib_alloc_vmalloc_buffer() & co.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core')
-rw-r--r-- | sound/core/pcm_native.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 5df0d21f18b3..88fff44702a4 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -3176,6 +3176,15 @@ int snd_pcm_lib_mmap_iomem(struct snd_pcm_substream *substream, EXPORT_SYMBOL(snd_pcm_lib_mmap_iomem); #endif /* SNDRV_PCM_INFO_MMAP */ +/* mmap callback with pgprot_noncached */ +int snd_pcm_lib_mmap_noncached(struct snd_pcm_substream *substream, + struct vm_area_struct *area) +{ + area->vm_page_prot = pgprot_noncached(area->vm_page_prot); + return snd_pcm_default_mmap(substream, area); +} +EXPORT_SYMBOL(snd_pcm_lib_mmap_noncached); + /* * mmap DMA buffer */ |