Lines Matching refs:iovad

106 static inline unsigned long iova_shift(struct iova_domain *iovad)  in iova_shift()  argument
108 return __ffs(iovad->granule); in iova_shift()
111 static inline unsigned long iova_mask(struct iova_domain *iovad) in iova_mask() argument
113 return iovad->granule - 1; in iova_mask()
116 static inline size_t iova_offset(struct iova_domain *iovad, dma_addr_t iova) in iova_offset() argument
118 return iova & iova_mask(iovad); in iova_offset()
121 static inline size_t iova_align(struct iova_domain *iovad, size_t size) in iova_align() argument
123 return ALIGN(size, iovad->granule); in iova_align()
126 static inline dma_addr_t iova_dma_addr(struct iova_domain *iovad, struct iova *iova) in iova_dma_addr() argument
128 return (dma_addr_t)iova->pfn_lo << iova_shift(iovad); in iova_dma_addr()
131 static inline unsigned long iova_pfn(struct iova_domain *iovad, dma_addr_t iova) in iova_pfn() argument
133 return iova >> iova_shift(iovad); 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,
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);
167 void free_global_cached_iovas(struct iova_domain *iovad);
187 static inline void free_iova(struct iova_domain *iovad, unsigned long pfn) in free_iova() argument
191 static inline void __free_iova(struct iova_domain *iovad, struct iova *iova) in __free_iova() argument
195 static inline struct iova *alloc_iova(struct iova_domain *iovad, in alloc_iova() argument
203 static inline void free_iova_fast(struct iova_domain *iovad, in free_iova_fast() argument
209 static inline void queue_iova(struct iova_domain *iovad, in queue_iova() argument
215 static inline unsigned long alloc_iova_fast(struct iova_domain *iovad, in alloc_iova_fast() argument
223 static inline struct iova *reserve_iova(struct iova_domain *iovad, in reserve_iova() argument
235 static inline void init_iova_domain(struct iova_domain *iovad, in init_iova_domain() argument
241 static inline bool has_iova_flush_queue(struct iova_domain *iovad) in has_iova_flush_queue() argument
246 static inline int init_iova_flush_queue(struct iova_domain *iovad, in init_iova_flush_queue() argument
253 static inline struct iova *find_iova(struct iova_domain *iovad, in find_iova() argument
259 static inline void put_iova_domain(struct iova_domain *iovad) in put_iova_domain() argument
263 static inline struct iova *split_and_remove_iova(struct iova_domain *iovad, in split_and_remove_iova() argument
272 struct iova_domain *iovad) in free_cpu_cached_iovas() argument
276 static inline void free_global_cached_iovas(struct iova_domain *iovad) in free_global_cached_iovas() argument