Lines Matching refs:iova
20 struct iova { struct
36 static inline unsigned long iova_size(struct iova *iova) in iova_size() argument
38 return iova->pfn_hi - iova->pfn_lo + 1; in iova_size()
51 static inline size_t iova_offset(struct iova_domain *iovad, dma_addr_t iova) in iova_offset() argument
53 return iova & iova_mask(iovad); in iova_offset()
61 static inline dma_addr_t iova_dma_addr(struct iova_domain *iovad, struct iova *iova) in iova_dma_addr() argument
63 return (dma_addr_t)iova->pfn_lo << iova_shift(iovad); in iova_dma_addr()
66 static inline unsigned long iova_pfn(struct iova_domain *iovad, dma_addr_t iova) in iova_pfn() argument
68 return iova >> iova_shift(iovad); in iova_pfn()
74 struct iova *alloc_iova_mem(void);
75 void free_iova_mem(struct iova *iova);
77 void __free_iova(struct iova_domain *iovad, struct iova *iova);
78 struct iova *alloc_iova(struct iova_domain *iovad, unsigned long size,
81 struct iova *reserve_iova(struct iova_domain *iovad, unsigned long pfn_lo,
86 struct iova *find_iova(struct iova_domain *iovad, unsigned long pfn);
88 struct iova *split_and_remove_iova(struct iova_domain *iovad,
89 struct iova *iova, unsigned long pfn_lo, unsigned long pfn_hi);