Lines Matching +full:dma +full:- +full:coherent
2 * Based on linux/arch/arm/mm/dma-mapping.c
4 * Copyright (C) 2000-2004 Russell King
14 #include <linux/dma-direct.h>
22 #include "dma.h"
26 * - MMU/MPU is off
27 * - cpu is v7m w/o cache support
28 * - device is coherent
31 * arm_nommu_dma_ops rely on consistent DMA memory (please, refer to
34 * [1] Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
57 * - no consistent DMA region has been defined, so we can't in arm_nommu_dma_alloc()
59 * - there is no space left in consistent DMA region, so we in arm_nommu_dma_alloc()
146 sg_dma_len(sg) = sg->length; in arm_nommu_dma_map_sg()
211 static const struct dma_map_ops *arm_nommu_get_dma_map_ops(bool coherent) in arm_nommu_get_dma_map_ops() argument
213 return coherent ? &dma_direct_ops : &arm_nommu_dma_ops; in arm_nommu_get_dma_map_ops()
217 const struct iommu_ops *iommu, bool coherent) in arch_setup_dma_ops() argument
224 * coherent if no cache has been detected. Note that it is not in arch_setup_dma_ops()
228 dev->archdata.dma_coherent = (cacheid) ? coherent : true; in arch_setup_dma_ops()
231 * Assume coherent DMA in case MMU/MPU has not been set up. in arch_setup_dma_ops()
233 dev->archdata.dma_coherent = (get_cr() & CR_M) ? coherent : true; in arch_setup_dma_ops()
236 dma_ops = arm_nommu_get_dma_map_ops(dev->archdata.dma_coherent); in arch_setup_dma_ops()