|
@@ -247,7 +247,7 @@ int dma_common_mmap(struct device *dev, struct vm_area_struct *vma,
|
|
|
void *cpu_addr, dma_addr_t dma_addr, size_t size)
|
|
|
{
|
|
|
int ret = -ENXIO;
|
|
|
-#ifdef CONFIG_MMU
|
|
|
+#if defined(CONFIG_MMU) && !defined(CONFIG_ARCH_NO_COHERENT_DMA_MMAP)
|
|
|
unsigned long user_count = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
|
|
|
unsigned long count = PAGE_ALIGN(size) >> PAGE_SHIFT;
|
|
|
unsigned long pfn = page_to_pfn(virt_to_page(cpu_addr));
|
|
@@ -264,7 +264,7 @@ int dma_common_mmap(struct device *dev, struct vm_area_struct *vma,
|
|
|
user_count << PAGE_SHIFT,
|
|
|
vma->vm_page_prot);
|
|
|
}
|
|
|
-#endif /* CONFIG_MMU */
|
|
|
+#endif /* CONFIG_MMU && !CONFIG_ARCH_NO_COHERENT_DMA_MMAP */
|
|
|
|
|
|
return ret;
|
|
|
}
|