Searched refs:iopt_pages (Results 1 - 3 of 3) sorted by relevance
/kernel/linux/linux-6.6/drivers/iommu/iommufd/ |
H A D | io_pagetable.h | 35 * The iopt_pages::mutex protects pages_node 43 struct iopt_pages *pages; 62 int iopt_area_fill_domains(struct iopt_area *area, struct iopt_pages *pages); 63 void iopt_area_unfill_domains(struct iopt_area *area, struct iopt_pages *pages); 66 void iopt_area_unfill_domain(struct iopt_area *area, struct iopt_pages *pages, 97 * Number of bytes from the start of the iopt_pages that the iova begins. 181 * io_pagetable's, through their iopt_area's, can share a single iopt_pages 189 struct iopt_pages { struct 209 struct iopt_pages *iopt_alloc_pages(void __user *uptr, unsigned long length, 212 static inline void iopt_put_pages(struct iopt_pages *page [all...] |
H A D | pages.c | 4 * The iopt_pages is the center of the storage and motion of PFNs. Each 5 * iopt_pages represents a logical linear array of full PFNs. The array is 0 10 * 1) iopt_pages::pinned_pfns xarray 35 * While the iopt_pages can use an iommu_domain as storage, it does not have an 37 * iopt_pages as the PFN provider. Multiple iopt_areas can share the iopt_pages 45 * last_iova + 1 can overflow. An iopt_pages index will always be much less than 163 static void iopt_pages_add_npinned(struct iopt_pages *pages, size_t npages) in iopt_pages_add_npinned() 172 static void iopt_pages_sub_npinned(struct iopt_pages *pages, size_t npages) in iopt_pages_sub_npinned() 181 static void iopt_pages_err_unpin(struct iopt_pages *page [all...] |
H A D | io_pagetable.c | 8 * The datastructure uses the iopt_pages to optimize the storage of the PFNs 23 struct iopt_pages *pages; 190 struct iopt_pages *pages, unsigned long iova, in iopt_insert_area() 487 struct iopt_pages *pages; in iopt_unmap_iova_range() 715 struct iopt_pages *pages = area->pages; in iopt_unfill_domain() 734 struct iopt_pages *pages = area->pages; in iopt_unfill_domain() 768 struct iopt_pages *pages = area->pages; in iopt_fill_domain() 793 struct iopt_pages *pages = area->pages; in iopt_fill_domain() 860 * The io page size drives the iova_alignment. Internally the iopt_pages in iopt_table_add_domain() 994 * iopt_pages, jus [all...] |
Completed in 4 milliseconds