Lines Matching defs:iova

18 /* iova structure */
19 struct iova {
67 /* holds all the iova translations for a domain */
70 struct rb_root rbroot; /* iova domain rbtree root */
85 struct iova anchor; /* rbtree lookup anchor */
92 iova entry */
101 static inline unsigned long iova_size(struct iova *iova)
103 return iova->pfn_hi - iova->pfn_lo + 1;
116 static inline size_t iova_offset(struct iova_domain *iovad, dma_addr_t iova)
118 return iova & iova_mask(iovad);
126 static inline dma_addr_t iova_dma_addr(struct iova_domain *iovad, struct iova *iova)
128 return (dma_addr_t)iova->pfn_lo << iova_shift(iovad);
131 static inline unsigned long iova_pfn(struct iova_domain *iovad, dma_addr_t iova)
133 return iova >> iova_shift(iovad);
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, unsigned long limit_pfn, bool size_aligned);
149 struct iova *reserve_iova(struct iova_domain *iovad, unsigned long pfn_lo, unsigned long pfn_hi);
154 struct iova *find_iova(struct iova_domain *iovad, unsigned long pfn);
156 struct iova *split_and_remove_iova(struct iova_domain *iovad, struct iova *iova, unsigned long pfn_lo,
169 static inline struct iova *alloc_iova_mem(void)
174 static inline void free_iova_mem(struct iova *iova)
182 static inline void __free_iova(struct iova_domain *iovad, struct iova *iova)
186 static inline struct iova *alloc_iova(struct iova_domain *iovad, unsigned long size, unsigned long limit_pfn,
206 static inline struct iova *reserve_iova(struct iova_domain *iovad, unsigned long pfn_lo, unsigned long pfn_hi)
229 static inline struct iova *find_iova(struct iova_domain *iovad, unsigned long pfn)
238 static inline struct iova *split_and_remove_iova(struct iova_domain *iovad, struct iova *iova, unsigned long pfn_lo,