1#ifndef __LINUX_DMA_MAPPING_H
2#define __LINUX_DMA_MAPPING_H
36#include <linux/kernel.h>
55#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL << (n)) - 1))
91#ifdef ARCH_HAS_DMA_MINALIGN
92#define ____dma_from_device_aligned __aligned(ARCH_DMA_MINALIGN)
94#define ____dma_from_device_aligned
98#define __dma_from_device_group_begin(GROUP) \
99 __cacheline_group_begin(GROUP) ____dma_from_device_aligned
102#define __dma_from_device_group_end(GROUP) \
103 __cacheline_group_end(GROUP) ____dma_from_device_aligned
115#define DMA_ATTR_WRITE_BARRIER (1UL << 0)
116#define DMA_ATTR_WEAK_ORDERING (1UL << 1)
117#define DMA_ATTR_WRITE_COMBINE (1UL << 2)
118#define DMA_ATTR_NON_CONSISTENT (1UL << 3)
119#define DMA_ATTR_NO_KERNEL_MAPPING (1UL << 4)
120#define DMA_ATTR_SKIP_CPU_SYNC (1UL << 5)
121#define DMA_ATTR_FORCE_CONTIGUOUS (1UL << 6)
122#define DMA_ATTR_ALLOC_SINGLE_PAGES (1UL << 7)
123#define DMA_ATTR_NO_WARN (1UL << 8)
124#define DMA_ATTR_MERGEABLE (1UL << 9)
125#define DMA_ATTR_CPU_MAPPABLE (1UL << 10)
126#define DMA_ATTR_FORCE_DMA32 (1UL << 11)
127#define DMA_ATTR_ALLOC_PAGES (1UL << 12)
169 return nents < 0 ? nents : -
EINVAL;
171 sgt->
nents = (
unsigned int)nents;
217static inline int dma_set_max_seg_size(
struct device*
dev,
unsigned int size)
277static inline void dma_sync_sgtable_for_device(
struct device*
dev,
#define EINVAL
Definition acclib.h:198
dma_data_direction
Definition dma-direction.h:21
int dma_coerce_mask_and_coherent(struct device *dev, u64 mask)
void * dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t gfp)
int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, enum dma_data_direction dir)
void dma_free_coherent(struct device *dev, size_t size, void *vaddr, dma_addr_t handle)
size_t dma_max_mapping_size(struct device *dev)
void dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nents, enum dma_data_direction dir)
size_t size
Definition drm_bridge.h:1299
const struct device * dev
Definition drm_print.h:519
uint64_t u64
Definition kernel.h:17
uintptr_t dma_addr_t
Definition kernel.h:42
unsigned int gfp_t
Definition kernel.h:56
Definition scatterlist.h:73
Definition scatterlist.h:135
struct scatterlist * sgl
Definition scatterlist.h:136
unsigned int orig_nents
Definition scatterlist.h:138
unsigned int nents
Definition scatterlist.h:137