diff options
Diffstat (limited to 'sound/core')
-rw-r--r-- | sound/core/pcm_native.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 605c86df71c5..192dd407512f 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c | |||
@@ -36,6 +36,9 @@ | |||
36 | #include <sound/timer.h> | 36 | #include <sound/timer.h> |
37 | #include <sound/minors.h> | 37 | #include <sound/minors.h> |
38 | #include <asm/io.h> | 38 | #include <asm/io.h> |
39 | #if defined(CONFIG_MIPS) && defined(CONFIG_DMA_NONCOHERENT) | ||
40 | #include <dma-coherence.h> | ||
41 | #endif | ||
39 | 42 | ||
40 | /* | 43 | /* |
41 | * Compatibility | 44 | * Compatibility |
@@ -3186,6 +3189,10 @@ static int snd_pcm_default_mmap(struct snd_pcm_substream *substream, | |||
3186 | substream->runtime->dma_area, | 3189 | substream->runtime->dma_area, |
3187 | substream->runtime->dma_addr, | 3190 | substream->runtime->dma_addr, |
3188 | area->vm_end - area->vm_start); | 3191 | area->vm_end - area->vm_start); |
3192 | #elif defined(CONFIG_MIPS) && defined(CONFIG_DMA_NONCOHERENT) | ||
3193 | if (substream->dma_buffer.dev.type == SNDRV_DMA_TYPE_DEV && | ||
3194 | !plat_device_is_coherent(substream->dma_buffer.dev.dev)) | ||
3195 | area->vm_page_prot = pgprot_noncached(area->vm_page_prot); | ||
3189 | #endif /* ARCH_HAS_DMA_MMAP_COHERENT */ | 3196 | #endif /* ARCH_HAS_DMA_MMAP_COHERENT */ |
3190 | /* mmap with fault handler */ | 3197 | /* mmap with fault handler */ |
3191 | area->vm_ops = &snd_pcm_vm_ops_data_fault; | 3198 | area->vm_ops = &snd_pcm_vm_ops_data_fault; |