Home
last modified time | relevance | path

Searched refs:coherent (Results 1 - 25 of 99) sorted by relevance

1234

/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx4/
H A Dicm.c79 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 Dicm.h60 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 Dicm.c79 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 Dicm.h60 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 Ddma-mapping-nommu.c37 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 Ddma-mapping.c41 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 Ddma-mapping.c50 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 Ddma-noncoherent.c3 * 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 Dplatform.c88 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 Dplatform.c88 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 Dmthca_memfree.c88 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 Dmthca_memfree.h69 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 Dmthca_memfree.c88 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 Dmthca_memfree.h69 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 Ddma.c12 * - 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 Ddma.c12 * - 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 Ddevice.c101 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 Dsp-platform.c29 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 Ddma-iommu.c379 * @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 Ddevice.c98 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 Ddma-mapping-nommu.c25 * - 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 Dsp-platform.c29 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 Ddma-noncoherent.c21 * 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 Ddma-noncoherent.c20 * 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 DMakefile6 obj-y := init.o dma-coherent.o

Completed in 11 milliseconds

1234