Lines Matching refs:iova_domain

40 struct iova_domain;
43 typedef void (* iova_flush_cb)(struct iova_domain *domain);
70 struct iova_domain { struct
106 static inline unsigned long iova_shift(struct iova_domain *iovad) in iova_shift() argument
111 static inline unsigned long iova_mask(struct iova_domain *iovad) in iova_mask()
116 static inline size_t iova_offset(struct iova_domain *iovad, dma_addr_t iova) in iova_offset()
121 static inline size_t iova_align(struct iova_domain *iovad, size_t size) in iova_align()
126 static inline dma_addr_t iova_dma_addr(struct iova_domain *iovad, struct iova *iova) in iova_dma_addr()
131 static inline unsigned long iova_pfn(struct iova_domain *iovad, dma_addr_t iova) in iova_pfn()
142 void free_iova(struct iova_domain *iovad, unsigned long pfn);
143 void __free_iova(struct iova_domain *iovad, struct iova *iova);
144 struct iova *alloc_iova(struct iova_domain *iovad, unsigned long size,
147 void free_iova_fast(struct iova_domain *iovad, unsigned long pfn,
149 void queue_iova(struct iova_domain *iovad,
152 unsigned long alloc_iova_fast(struct iova_domain *iovad, unsigned long size,
154 struct iova *reserve_iova(struct iova_domain *iovad, unsigned long pfn_lo,
156 void copy_reserved_iova(struct iova_domain *from, struct iova_domain *to);
157 void init_iova_domain(struct iova_domain *iovad, unsigned long granule,
159 bool has_iova_flush_queue(struct iova_domain *iovad);
160 int init_iova_flush_queue(struct iova_domain *iovad,
162 struct iova *find_iova(struct iova_domain *iovad, unsigned long pfn);
163 void put_iova_domain(struct iova_domain *iovad);
164 struct iova *split_and_remove_iova(struct iova_domain *iovad,
166 void free_cpu_cached_iovas(unsigned int cpu, struct iova_domain *iovad);
186 static inline void free_iova(struct iova_domain *iovad, unsigned long pfn) in free_iova()
190 static inline void __free_iova(struct iova_domain *iovad, struct iova *iova) in __free_iova()
194 static inline struct iova *alloc_iova(struct iova_domain *iovad, in alloc_iova()
202 static inline void free_iova_fast(struct iova_domain *iovad, in free_iova_fast()
208 static inline void queue_iova(struct iova_domain *iovad, in queue_iova()
214 static inline unsigned long alloc_iova_fast(struct iova_domain *iovad, in alloc_iova_fast()
222 static inline struct iova *reserve_iova(struct iova_domain *iovad, in reserve_iova()
229 static inline void copy_reserved_iova(struct iova_domain *from, in copy_reserved_iova()
230 struct iova_domain *to) in copy_reserved_iova()
234 static inline void init_iova_domain(struct iova_domain *iovad, in init_iova_domain()
240 static inline bool has_iova_flush_queue(struct iova_domain *iovad) in has_iova_flush_queue()
245 static inline int init_iova_flush_queue(struct iova_domain *iovad, in init_iova_flush_queue()
252 static inline struct iova *find_iova(struct iova_domain *iovad, in find_iova()
258 static inline void put_iova_domain(struct iova_domain *iovad) in put_iova_domain()
262 static inline struct iova *split_and_remove_iova(struct iova_domain *iovad, in split_and_remove_iova()
271 struct iova_domain *iovad) in free_cpu_cached_iovas()