Home
last modified time | relevance | path

Searched refs:iopt_pages (Results 1 - 3 of 3) sorted by relevance

/kernel/linux/linux-6.6/drivers/iommu/iommufd/
H A Dio_pagetable.h35 * 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 Dpages.c4 * 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 Dio_pagetable.c8 * 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 5 milliseconds