Lines Matching refs:iova_domain
27 struct iova_domain { struct
41 static inline unsigned long iova_shift(struct iova_domain *iovad) in iova_shift() argument
46 static inline unsigned long iova_mask(struct iova_domain *iovad) in iova_mask()
51 static inline size_t iova_offset(struct iova_domain *iovad, dma_addr_t iova) in iova_offset()
56 static inline size_t iova_align(struct iova_domain *iovad, size_t size) in iova_align()
61 static inline dma_addr_t iova_dma_addr(struct iova_domain *iovad, struct iova *iova) in iova_dma_addr()
66 static inline unsigned long iova_pfn(struct iova_domain *iovad, dma_addr_t iova) in iova_pfn()
76 void free_iova(struct iova_domain *iovad, unsigned long pfn);
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,
83 void copy_reserved_iova(struct iova_domain *from, struct iova_domain *to);
84 void init_iova_domain(struct iova_domain *iovad, unsigned long granule,
86 struct iova *find_iova(struct iova_domain *iovad, unsigned long pfn);
87 void put_iova_domain(struct iova_domain *iovad);
88 struct iova *split_and_remove_iova(struct iova_domain *iovad,