Lines Matching full:dev
19 void* (*alloc)(struct device *dev, size_t size,
22 void (*free)(struct device *dev, size_t size,
28 int (*get_sgtable)(struct device *dev, struct sg_table *sgt, void *,
31 dma_addr_t (*map_page)(struct device *dev, struct page *page,
35 void (*unmap_page)(struct device *dev, dma_addr_t dma_handle,
42 int (*map_sg)(struct device *dev, struct scatterlist *sg,
45 void (*unmap_sg)(struct device *dev,
49 void (*sync_single_for_cpu)(struct device *dev,
52 void (*sync_single_for_device)(struct device *dev,
55 void (*sync_sg_for_cpu)(struct device *dev,
58 void (*sync_sg_for_device)(struct device *dev,
61 int (*mapping_error)(struct device *dev, dma_addr_t dma_addr);
62 int (*dma_supported)(struct device *dev, u64 mask);
63 int (*set_dma_mask)(struct device *dev, u64 mask);
65 u64 (*get_required_mask)(struct device *dev);
81 static inline int is_device_dma_capable(struct device *dev) in is_device_dma_capable() argument
83 return dev->dma_mask != NULL && *dev->dma_mask != DMA_MASK_NONE; in is_device_dma_capable()
92 static inline u64 dma_get_mask(struct device *dev) in dma_get_mask() argument
94 if (dev && dev->dma_mask && *dev->dma_mask) in dma_get_mask()
95 return *dev->dma_mask; in dma_get_mask()
100 int dma_set_coherent_mask(struct device *dev, u64 mask);
102 static inline int dma_set_coherent_mask(struct device *dev, u64 mask) in dma_set_coherent_mask() argument
104 if (!dma_supported(dev, mask)) in dma_set_coherent_mask()
106 dev->coherent_dma_mask = mask; in dma_set_coherent_mask()
117 static inline int dma_set_mask_and_coherent(struct device *dev, u64 mask) in dma_set_mask_and_coherent() argument
119 int rc = dma_set_mask(dev, mask); in dma_set_mask_and_coherent()
121 dma_set_coherent_mask(dev, mask); in dma_set_mask_and_coherent()
127 * does not have dev->dma_mask appropriately setup.
129 static inline int dma_coerce_mask_and_coherent(struct device *dev, u64 mask) in dma_coerce_mask_and_coherent() argument
131 dev->dma_mask = &dev->coherent_dma_mask; in dma_coerce_mask_and_coherent()
132 return dma_set_mask_and_coherent(dev, mask); in dma_coerce_mask_and_coherent()
135 extern u64 dma_get_required_mask(struct device *dev);
138 static inline void arch_setup_dma_ops(struct device *dev, u64 dma_base, in arch_setup_dma_ops() argument
144 static inline void arch_teardown_dma_ops(struct device *dev) { } in arch_teardown_dma_ops() argument
147 static inline unsigned int dma_get_max_seg_size(struct device *dev) in dma_get_max_seg_size() argument
149 if (dev->dma_parms && dev->dma_parms->max_segment_size) in dma_get_max_seg_size()
150 return dev->dma_parms->max_segment_size; in dma_get_max_seg_size()
154 static inline unsigned int dma_set_max_seg_size(struct device *dev, in dma_set_max_seg_size() argument
157 if (dev->dma_parms) { in dma_set_max_seg_size()
158 dev->dma_parms->max_segment_size = size; in dma_set_max_seg_size()
164 static inline unsigned long dma_get_seg_boundary(struct device *dev) in dma_get_seg_boundary() argument
166 if (dev->dma_parms && dev->dma_parms->segment_boundary_mask) in dma_get_seg_boundary()
167 return dev->dma_parms->segment_boundary_mask; in dma_get_seg_boundary()
171 static inline int dma_set_seg_boundary(struct device *dev, unsigned long mask) in dma_set_seg_boundary() argument
173 if (dev->dma_parms) { in dma_set_seg_boundary()
174 dev->dma_parms->segment_boundary_mask = mask; in dma_set_seg_boundary()
181 static inline unsigned long dma_max_pfn(struct device *dev) in dma_max_pfn() argument
183 return *dev->dma_mask >> PAGE_SHIFT; in dma_max_pfn()
187 static inline void *dma_zalloc_coherent(struct device *dev, size_t size, in dma_zalloc_coherent() argument
190 void *ret = dma_alloc_coherent(dev, size, dma_handle, in dma_zalloc_coherent()
213 dma_declare_coherent_memory(struct device *dev, phys_addr_t phys_addr, in dma_declare_coherent_memory() argument
220 dma_release_declared_memory(struct device *dev) in dma_release_declared_memory() argument
225 dma_mark_declared_memory_occupied(struct device *dev, in dma_mark_declared_memory_occupied() argument
235 extern void *dmam_alloc_coherent(struct device *dev, size_t size,
237 extern void dmam_free_coherent(struct device *dev, size_t size, void *vaddr,
239 extern void *dmam_alloc_noncoherent(struct device *dev, size_t size,
241 extern void dmam_free_noncoherent(struct device *dev, size_t size, void *vaddr,
244 extern int dmam_declare_coherent_memory(struct device *dev,
248 extern void dmam_release_declared_memory(struct device *dev);
250 static inline int dmam_declare_coherent_memory(struct device *dev, in dmam_declare_coherent_memory() argument
257 static inline void dmam_release_declared_memory(struct device *dev) in dmam_release_declared_memory() argument
265 #define dma_map_single_attrs(dev, cpu_addr, size, dir, attrs) \ argument
266 dma_map_single(dev, cpu_addr, size, dir)
268 #define dma_unmap_single_attrs(dev, dma_addr, size, dir, attrs) \ argument
269 dma_unmap_single(dev, dma_addr, size, dir)
271 #define dma_map_sg_attrs(dev, sgl, nents, dir, attrs) \ argument
272 dma_map_sg(dev, sgl, nents, dir)
274 #define dma_unmap_sg_attrs(dev, sgl, nents, dir, attrs) \ argument
275 dma_unmap_sg(dev, sgl, nents, dir)
278 static inline void *dma_alloc_writecombine(struct device *dev, size_t size, in dma_alloc_writecombine() argument
283 return dma_alloc_attrs(dev, size, dma_addr, gfp, &attrs); in dma_alloc_writecombine()
286 static inline void dma_free_writecombine(struct device *dev, size_t size, in dma_free_writecombine() argument
291 return dma_free_attrs(dev, size, cpu_addr, dma_addr, &attrs); in dma_free_writecombine()
294 static inline int dma_mmap_writecombine(struct device *dev, in dma_mmap_writecombine() argument
301 return dma_mmap_attrs(dev, vma, cpu_addr, dma_addr, size, &attrs); in dma_mmap_writecombine()