Lines Matching refs:iova_domain

38 struct iova_domain;
41 typedef void (* iova_flush_cb)(struct iova_domain *domain);
68 struct iova_domain { struct
105 static inline unsigned long iova_shift(struct iova_domain *iovad) in iova_shift() argument
110 static inline unsigned long iova_mask(struct iova_domain *iovad) in iova_mask()
115 static inline size_t iova_offset(struct iova_domain *iovad, dma_addr_t iova) in iova_offset()
120 static inline size_t iova_align(struct iova_domain *iovad, size_t size) in iova_align()
125 static inline dma_addr_t iova_dma_addr(struct iova_domain *iovad, struct iova *iova) in iova_dma_addr()
130 static inline unsigned long iova_pfn(struct iova_domain *iovad, dma_addr_t iova) in iova_pfn()
141 void free_iova(struct iova_domain *iovad, unsigned long pfn);
142 void __free_iova(struct iova_domain *iovad, struct iova *iova);
143 struct iova *alloc_iova(struct iova_domain *iovad, unsigned long size,
146 void free_iova_fast(struct iova_domain *iovad, unsigned long pfn,
148 void queue_iova(struct iova_domain *iovad,
151 unsigned long alloc_iova_fast(struct iova_domain *iovad, unsigned long size,
153 struct iova *reserve_iova(struct iova_domain *iovad, unsigned long pfn_lo,
155 void copy_reserved_iova(struct iova_domain *from, struct iova_domain *to);
156 void init_iova_domain(struct iova_domain *iovad, unsigned long granule,
158 bool has_iova_flush_queue(struct iova_domain *iovad);
159 int init_iova_flush_queue(struct iova_domain *iovad,
161 struct iova *find_iova(struct iova_domain *iovad, unsigned long pfn);
162 void put_iova_domain(struct iova_domain *iovad);
163 struct iova *split_and_remove_iova(struct iova_domain *iovad,
165 void free_cpu_cached_iovas(unsigned int cpu, struct iova_domain *iovad);
185 static inline void free_iova(struct iova_domain *iovad, unsigned long pfn) in free_iova()
189 static inline void __free_iova(struct iova_domain *iovad, struct iova *iova) in __free_iova()
193 static inline struct iova *alloc_iova(struct iova_domain *iovad, in alloc_iova()
201 static inline void free_iova_fast(struct iova_domain *iovad, in free_iova_fast()
207 static inline void queue_iova(struct iova_domain *iovad, in queue_iova()
213 static inline unsigned long alloc_iova_fast(struct iova_domain *iovad, in alloc_iova_fast()
221 static inline struct iova *reserve_iova(struct iova_domain *iovad, in reserve_iova()
228 static inline void copy_reserved_iova(struct iova_domain *from, in copy_reserved_iova()
229 struct iova_domain *to) in copy_reserved_iova()
233 static inline void init_iova_domain(struct iova_domain *iovad, in init_iova_domain()
239 static inline bool has_iova_flush_queue(struct iova_domain *iovad) in has_iova_flush_queue()
244 static inline int init_iova_flush_queue(struct iova_domain *iovad, in init_iova_flush_queue()
251 static inline struct iova *find_iova(struct iova_domain *iovad, in find_iova()
257 static inline void put_iova_domain(struct iova_domain *iovad) in put_iova_domain()
261 static inline struct iova *split_and_remove_iova(struct iova_domain *iovad, in split_and_remove_iova()
270 struct iova_domain *iovad) in free_cpu_cached_iovas()