Lines Matching refs:iova
19 struct iova { struct
85 struct iova anchor; /* rbtree lookup anchor */
101 static inline unsigned long iova_size(struct iova *iova) in iova_size() argument
103 return iova->pfn_hi - iova->pfn_lo + 1; in iova_size()
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()
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()
140 struct iova *alloc_iova_mem(void);
141 void free_iova_mem(struct iova *iova);
143 void __free_iova(struct iova_domain *iovad, struct iova *iova);
144 struct iova *alloc_iova(struct iova_domain *iovad, unsigned long size,
154 struct iova *reserve_iova(struct iova_domain *iovad, unsigned long pfn_lo,
162 struct iova *find_iova(struct iova_domain *iovad, unsigned long pfn);
164 struct iova *split_and_remove_iova(struct iova_domain *iovad,
165 struct iova *iova, unsigned long pfn_lo, unsigned long pfn_hi);
178 static inline struct iova *alloc_iova_mem(void) in alloc_iova_mem()
183 static inline void free_iova_mem(struct iova *iova) in free_iova_mem() 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()
223 static inline struct iova *reserve_iova(struct iova_domain *iovad, in reserve_iova()
253 static inline struct iova *find_iova(struct iova_domain *iovad, in find_iova()
263 static inline struct iova *split_and_remove_iova(struct iova_domain *iovad, in split_and_remove_iova()
264 struct iova *iova, in split_and_remove_iova() argument