• Home
  • Raw
  • Download

Lines Matching +full:dma +full:- +full:coherent

2  * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
9 #include <linux/dma-noncoherent.h>
14 * ARCH specific callbacks for generic noncoherent DMA ops (dma/noncoherent.c)
15 * - hardware IOC not available (or "dma-coherent" not set for device in DT)
16 * - But still handle both coherent and non-coherent requests from caller
18 * For DMA coherent hardware (IOC) generic code suffices
31 * (in include/linux/dma-mapping.h) so we should never get a in arch_dma_alloc()
46 * A coherent buffer needs MMU mapping to enforce non-cachability. in arch_dma_alloc()
62 * Yeah this bit us - STAR 9000898266 in arch_dma_alloc()
94 unsigned long off = vma->vm_pgoff; in arch_dma_mmap()
95 int ret = -ENXIO; in arch_dma_mmap()
97 vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); in arch_dma_mmap()
102 if (off < count && user_count <= (count - off)) { in arch_dma_mmap()
103 ret = remap_pfn_range(vma, vma->vm_start, in arch_dma_mmap()
106 vma->vm_page_prot); in arch_dma_mmap()
116 * dma-mapping: provide a generic dma-noncoherent implementation)"
119 * |----------------------------------------------------------------
127 * upper layer functions (in include/linux/dma-mapping.h)
170 * Plug in coherent or noncoherent dma ops
173 const struct iommu_ops *iommu, bool coherent) in arch_setup_dma_ops() argument
176 * IOC hardware snoops all DMA traffic keeping the caches consistent in arch_setup_dma_ops()
177 * with memory - eliding need for any explicit cache maintenance of in arch_setup_dma_ops()
178 * DMA buffers - so we can use dma_direct cache ops. in arch_setup_dma_ops()
180 if (is_isa_arcv2() && ioc_enable && coherent) { in arch_setup_dma_ops()