/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx4/ |
H A D | icm.c | 79 void mlx4_free_icm(struct mlx4_dev *dev, struct mlx4_icm *icm, int coherent) in mlx4_free_icm() argument 87 if (coherent) in mlx4_free_icm() 133 gfp_t gfp_mask, int coherent) in mlx4_alloc_icm() 141 /* We use sg_set_buf for coherent allocs, which assumes low memory */ in mlx4_alloc_icm() 142 BUG_ON(coherent && (gfp_mask & __GFP_HIGHMEM)); in mlx4_alloc_icm() 172 chunk->coherent = coherent; in mlx4_alloc_icm() 174 if (!coherent) in mlx4_alloc_icm() 186 if (coherent) in mlx4_alloc_icm() 204 if (coherent) in mlx4_alloc_icm() 132 mlx4_alloc_icm(struct mlx4_dev *dev, int npages, gfp_t gfp_mask, int coherent) mlx4_alloc_icm() argument [all...] |
H A D | icm.h | 60 bool coherent; member 81 gfp_t gfp_mask, int coherent); 82 void mlx4_free_icm(struct mlx4_dev *dev, struct mlx4_icm *icm, int coherent); 127 if (iter->chunk->coherent) in mlx4_icm_addr() 135 if (iter->chunk->coherent) in mlx4_icm_size()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx4/ |
H A D | icm.c | 79 void mlx4_free_icm(struct mlx4_dev *dev, struct mlx4_icm *icm, int coherent) in mlx4_free_icm() argument 87 if (coherent) in mlx4_free_icm() 133 gfp_t gfp_mask, int coherent) in mlx4_alloc_icm() 141 /* We use sg_set_buf for coherent allocs, which assumes low memory */ in mlx4_alloc_icm() 142 BUG_ON(coherent && (gfp_mask & __GFP_HIGHMEM)); in mlx4_alloc_icm() 172 chunk->coherent = coherent; in mlx4_alloc_icm() 174 if (!coherent) in mlx4_alloc_icm() 186 if (coherent) in mlx4_alloc_icm() 204 if (coherent) in mlx4_alloc_icm() 132 mlx4_alloc_icm(struct mlx4_dev *dev, int npages, gfp_t gfp_mask, int coherent) mlx4_alloc_icm() argument [all...] |
H A D | icm.h | 60 bool coherent; member 81 gfp_t gfp_mask, int coherent); 82 void mlx4_free_icm(struct mlx4_dev *dev, struct mlx4_icm *icm, int coherent); 127 if (iter->chunk->coherent) in mlx4_icm_addr() 135 if (iter->chunk->coherent) in mlx4_icm_size()
|
/kernel/linux/linux-6.6/arch/arm/mm/ |
H A D | dma-mapping-nommu.c | 37 const struct iommu_ops *iommu, bool coherent) in arch_setup_dma_ops() 42 * coherent if no cache has been detected. Note that it is not in arch_setup_dma_ops() 46 dev->dma_coherent = cacheid ? coherent : true; in arch_setup_dma_ops() 49 * Assume coherent DMA in case MMU/MPU has not been set up. in arch_setup_dma_ops() 51 dev->dma_coherent = (get_cr() & CR_M) ? coherent : true; in arch_setup_dma_ops() 36 arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size, const struct iommu_ops *iommu, bool coherent) arch_setup_dma_ops() argument
|
/kernel/linux/linux-5.10/arch/arm64/mm/ |
H A D | dma-mapping.c | 41 const struct iommu_ops *iommu, bool coherent) in arch_setup_dma_ops() 45 WARN_TAINT(!coherent && cls > ARCH_DMA_MINALIGN, in arch_setup_dma_ops() 51 dev->dma_coherent = coherent; in arch_setup_dma_ops() 40 arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size, const struct iommu_ops *iommu, bool coherent) arch_setup_dma_ops() argument
|
/kernel/linux/linux-6.6/arch/arm64/mm/ |
H A D | dma-mapping.c | 50 const struct iommu_ops *iommu, bool coherent) in arch_setup_dma_ops() 54 WARN_TAINT(!coherent && cls > ARCH_DMA_MINALIGN, in arch_setup_dma_ops() 60 dev->dma_coherent = coherent; in arch_setup_dma_ops() 49 arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size, const struct iommu_ops *iommu, bool coherent) arch_setup_dma_ops() argument
|
/kernel/linux/linux-6.6/arch/riscv/mm/ |
H A D | dma-noncoherent.c | 3 * RISC-V specific functions to support DMA for non-coherent devices 132 const struct iommu_ops *iommu, bool coherent) in arch_setup_dma_ops() 134 WARN_TAINT(!coherent && riscv_cbom_block_size > ARCH_DMA_MINALIGN, in arch_setup_dma_ops() 140 WARN_TAINT(!coherent && !noncoherent_supported, TAINT_CPU_OUT_OF_SPEC, in arch_setup_dma_ops() 141 "%s %s: device non-coherent but no non-coherent operations supported", in arch_setup_dma_ops() 144 dev->dma_coherent = coherent; in arch_setup_dma_ops() 150 "Non-coherent DMA support enabled without a block size\n"); in riscv_noncoherent_supported() 131 arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size, const struct iommu_ops *iommu, bool coherent) arch_setup_dma_ops() argument
|
/kernel/linux/linux-5.10/arch/arc/plat-hsdk/ |
H A D | platform.c | 88 static int __init hsdk_tweak_node_coherency(const char *path, bool coherent) in hsdk_tweak_node_coherency() argument 99 prop = fdt_getprop(fdt, node, "dma-coherent", &ret); in hsdk_tweak_node_coherency() 106 /* need to remove "dma-coherent" property */ in hsdk_tweak_node_coherency() 107 if (dt_coh_set && !coherent) in hsdk_tweak_node_coherency() 108 ret = fdt_delprop(fdt, node, "dma-coherent"); in hsdk_tweak_node_coherency() 110 /* need to set "dma-coherent" property */ in hsdk_tweak_node_coherency() 111 if (!dt_coh_set && coherent) in hsdk_tweak_node_coherency() 112 ret = fdt_setprop(fdt, node, "dma-coherent", NULL, 0); in hsdk_tweak_node_coherency() 120 pr_err("failed to tweak %s to %scoherent\n", path, coherent ? "" : "non"); in hsdk_tweak_node_coherency() 191 bool coherent in hsdk_init_memory_bridge_axi_dmac() local [all...] |
/kernel/linux/linux-6.6/arch/arc/plat-hsdk/ |
H A D | platform.c | 88 static int __init hsdk_tweak_node_coherency(const char *path, bool coherent) in hsdk_tweak_node_coherency() argument 99 prop = fdt_getprop(fdt, node, "dma-coherent", &ret); in hsdk_tweak_node_coherency() 106 /* need to remove "dma-coherent" property */ in hsdk_tweak_node_coherency() 107 if (dt_coh_set && !coherent) in hsdk_tweak_node_coherency() 108 ret = fdt_delprop(fdt, node, "dma-coherent"); in hsdk_tweak_node_coherency() 110 /* need to set "dma-coherent" property */ in hsdk_tweak_node_coherency() 111 if (!dt_coh_set && coherent) in hsdk_tweak_node_coherency() 112 ret = fdt_setprop(fdt, node, "dma-coherent", NULL, 0); in hsdk_tweak_node_coherency() 120 pr_err("failed to tweak %s to %scoherent\n", path, coherent ? "" : "non"); in hsdk_tweak_node_coherency() 191 bool coherent in hsdk_init_memory_bridge_axi_dmac() local [all...] |
/kernel/linux/linux-5.10/drivers/infiniband/hw/mthca/ |
H A D | mthca_memfree.c | 88 void mthca_free_icm(struct mthca_dev *dev, struct mthca_icm *icm, int coherent) in mthca_free_icm() argument 96 if (coherent) in mthca_free_icm() 138 gfp_t gfp_mask, int coherent) in mthca_alloc_icm() 145 /* We use sg_set_buf for coherent allocs, which assumes low memory */ in mthca_alloc_icm() 146 BUG_ON(coherent && (gfp_mask & __GFP_HIGHMEM)); in mthca_alloc_icm() 173 if (coherent) in mthca_alloc_icm() 184 if (coherent) in mthca_alloc_icm() 206 if (!coherent && chunk) { in mthca_alloc_icm() 218 mthca_free_icm(dev, icm, coherent); in mthca_alloc_icm() 236 __GFP_NOWARN, table->coherent); in mthca_table_get() 137 mthca_alloc_icm(struct mthca_dev *dev, int npages, gfp_t gfp_mask, int coherent) mthca_alloc_icm() argument [all...] |
H A D | mthca_memfree.h | 69 int coherent; member 83 gfp_t gfp_mask, int coherent); 84 void mthca_free_icm(struct mthca_dev *dev, struct mthca_icm *icm, int coherent);
|
/kernel/linux/linux-6.6/drivers/infiniband/hw/mthca/ |
H A D | mthca_memfree.c | 88 void mthca_free_icm(struct mthca_dev *dev, struct mthca_icm *icm, int coherent) in mthca_free_icm() argument 96 if (coherent) in mthca_free_icm() 138 gfp_t gfp_mask, int coherent) in mthca_alloc_icm() 145 /* We use sg_set_buf for coherent allocs, which assumes low memory */ in mthca_alloc_icm() 146 BUG_ON(coherent && (gfp_mask & __GFP_HIGHMEM)); in mthca_alloc_icm() 173 if (coherent) in mthca_alloc_icm() 184 if (coherent) in mthca_alloc_icm() 207 if (!coherent && chunk) { in mthca_alloc_icm() 218 mthca_free_icm(dev, icm, coherent); in mthca_alloc_icm() 236 __GFP_NOWARN, table->coherent); in mthca_table_get() 137 mthca_alloc_icm(struct mthca_dev *dev, int npages, gfp_t gfp_mask, int coherent) mthca_alloc_icm() argument [all...] |
H A D | mthca_memfree.h | 69 int coherent; member 83 gfp_t gfp_mask, int coherent); 84 void mthca_free_icm(struct mthca_dev *dev, struct mthca_icm *icm, int coherent);
|
/kernel/linux/linux-5.10/arch/arc/mm/ |
H A D | dma.c | 12 * - hardware IOC not available (or "dma-coherent" not set for device in DT) 13 * - But still handle both coherent and non-coherent requests from caller 15 * For DMA coherent hardware (IOC) generic code suffices 94 const struct iommu_ops *iommu, bool coherent) in arch_setup_dma_ops() 101 if (is_isa_arcv2() && ioc_enable && coherent) in arch_setup_dma_ops() 93 arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size, const struct iommu_ops *iommu, bool coherent) arch_setup_dma_ops() argument
|
/kernel/linux/linux-6.6/arch/arc/mm/ |
H A D | dma.c | 12 * - hardware IOC not available (or "dma-coherent" not set for device in DT) 13 * - But still handle both coherent and non-coherent requests from caller 15 * For DMA coherent hardware (IOC) generic code suffices 94 const struct iommu_ops *iommu, bool coherent) in arch_setup_dma_ops() 101 if (is_isa_arcv2() && ioc_enable && coherent) in arch_setup_dma_ops() 93 arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size, const struct iommu_ops *iommu, bool coherent) arch_setup_dma_ops() argument
|
/kernel/linux/linux-6.6/drivers/of/ |
H A D | device.c | 101 bool coherent; in of_dma_configure_id() local 154 * coherent mask if not, but we'll no longer do so quietly. in of_dma_configure_id() 167 * Limit coherent and dma mask based on size and default mask in of_dma_configure_id() 180 coherent = of_dma_is_coherent(np); in of_dma_configure_id() 181 dev_dbg(dev, "device is%sdma coherent\n", in of_dma_configure_id() 182 coherent ? " " : " not "); in of_dma_configure_id() 196 arch_setup_dma_ops(dev, dma_start, size, iommu, coherent); in of_dma_configure_id()
|
/kernel/linux/linux-6.6/drivers/crypto/ccp/ |
H A D | sp-platform.c | 29 int coherent; member 152 sp_platform->coherent = (attr == DEV_DMA_COHERENT); in sp_platform_probe() 153 if (sp_platform->coherent) in sp_platform_probe()
|
/kernel/linux/linux-5.10/drivers/iommu/ |
H A D | dma-iommu.c | 379 * @coherent: Is the DMA master cache-coherent? 384 static int dma_info_to_prot(enum dma_data_direction dir, bool coherent, in dma_info_to_prot() argument 387 int prot = coherent ? IOMMU_CACHE : 0; in dma_info_to_prot() 591 bool coherent = dev_is_dma_coherent(dev); in iommu_dma_alloc_remap() local 592 int ioprot = dma_info_to_prot(DMA_BIDIRECTIONAL, coherent, attrs); in iommu_dma_alloc_remap() 732 bool coherent = dev_is_dma_coherent(dev); in iommu_dma_map_page() local 733 int prot = dma_info_to_prot(dir, coherent, attrs); in iommu_dma_map_page() 737 if (!coherent && !(attrs & DMA_ATTR_SKIP_CPU_SYNC) && in iommu_dma_map_page() 955 /* Non-coherent atomi in __iommu_dma_free() 990 bool coherent = dev_is_dma_coherent(dev); iommu_dma_alloc_pages() local 1027 bool coherent = dev_is_dma_coherent(dev); iommu_dma_alloc() local [all...] |
/kernel/linux/linux-5.10/drivers/of/ |
H A D | device.c | 98 bool coherent; in of_dma_configure_id() local 145 * coherent mask if not, but we'll no longer do so quietly. in of_dma_configure_id() 158 * Limit coherent and dma mask based on size and default mask in of_dma_configure_id() 171 coherent = of_dma_is_coherent(np); in of_dma_configure_id() 172 dev_dbg(dev, "device is%sdma coherent\n", in of_dma_configure_id() 173 coherent ? " " : " not "); in of_dma_configure_id() 187 arch_setup_dma_ops(dev, dma_start, size, iommu, coherent); in of_dma_configure_id()
|
/kernel/linux/linux-5.10/arch/arm/mm/ |
H A D | dma-mapping-nommu.c | 25 * - device is coherent 195 const struct iommu_ops *iommu, bool coherent) in arch_setup_dma_ops() 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() 194 arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size, const struct iommu_ops *iommu, bool coherent) arch_setup_dma_ops() argument
|
/kernel/linux/linux-5.10/drivers/crypto/ccp/ |
H A D | sp-platform.c | 29 int coherent; member 160 sp_platform->coherent = (attr == DEV_DMA_COHERENT); in sp_platform_probe() 161 if (sp_platform->coherent) in sp_platform_probe()
|
/kernel/linux/linux-5.10/arch/mips/mm/ |
H A D | dma-noncoherent.c | 21 * Warning on the terminology - Linux calls an uncached area coherent; MIPS 22 * terminology calls memory areas with hardware maintained coherency coherent. 25 * However this function is only called on non-I/O-coherent systems and only the 141 const struct iommu_ops *iommu, bool coherent) in arch_setup_dma_ops() 143 dev->dma_coherent = coherent; in arch_setup_dma_ops() 140 arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size, const struct iommu_ops *iommu, bool coherent) arch_setup_dma_ops() argument
|
/kernel/linux/linux-6.6/arch/mips/mm/ |
H A D | dma-noncoherent.c | 20 * Warning on the terminology - Linux calls an uncached area coherent; MIPS 21 * terminology calls memory areas with hardware maintained coherency coherent. 24 * However this function is only called on non-I/O-coherent systems and only the 141 const struct iommu_ops *iommu, bool coherent) in arch_setup_dma_ops() 143 dev->dma_coherent = coherent; in arch_setup_dma_ops() 140 arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size, const struct iommu_ops *iommu, bool coherent) arch_setup_dma_ops() argument
|
/kernel/linux/linux-5.10/arch/c6x/mm/ |
H A D | Makefile | 6 obj-y := init.o dma-coherent.o
|