Lines Matching +full:dma +full:- +full:coherent
1 // SPDX-License-Identifier: GPL-2.0-only
3 * Based on linux/arch/arm/mm/dma-mapping.c
5 * Copyright (C) 2000-2004 Russell King
10 #include <linux/dma-direct.h>
11 #include <linux/dma-map-ops.h>
19 #include "dma.h"
23 * - MMU/MPU is off
24 * - cpu is v7m w/o cache support
25 * - device is coherent
28 * arm_nommu_dma_ops rely on consistent DMA memory (please, refer to
31 * [1] Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
44 * - no consistent DMA region has been defined, so we can't in arm_nommu_dma_alloc()
46 * - there is no space left in consistent DMA region, so we in arm_nommu_dma_alloc()
74 return -ENXIO; in arm_nommu_dma_mmap()
127 sg_dma_len(sg) = sg->length; in arm_nommu_dma_map_sg()
195 const struct iommu_ops *iommu, bool coherent) in arch_setup_dma_ops() argument
200 * coherent if no cache has been detected. Note that it is not in arch_setup_dma_ops()
204 dev->archdata.dma_coherent = (cacheid) ? coherent : true; in arch_setup_dma_ops()
207 * Assume coherent DMA in case MMU/MPU has not been set up. in arch_setup_dma_ops()
209 dev->archdata.dma_coherent = (get_cr() & CR_M) ? coherent : true; in arch_setup_dma_ops()
212 if (!dev->archdata.dma_coherent) in arch_setup_dma_ops()