Lines Matching refs:freelist
57 static void free_pt_page(u64 *pt, struct list_head *freelist) in free_pt_page() argument
61 list_add_tail(&p->lru, freelist); in free_pt_page()
64 static void free_pt_lvl(u64 *pt, struct list_head *freelist, int lvl) in free_pt_lvl() argument
85 free_pt_lvl(p, freelist, lvl - 1); in free_pt_lvl()
87 free_pt_page(p, freelist); in free_pt_lvl()
90 free_pt_page(pt, freelist); in free_pt_lvl()
93 static void free_sub_pt(u64 *root, int mode, struct list_head *freelist) in free_sub_pt() argument
100 free_pt_page(root, freelist); in free_sub_pt()
107 free_pt_lvl(root, freelist, mode); in free_sub_pt()
304 static void free_clear_pte(u64 *pte, u64 pteval, struct list_head *freelist) in free_clear_pte() argument
318 free_sub_pt(pt, mode, freelist); in free_clear_pte()
333 LIST_HEAD(freelist); in iommu_v1_map_pages()
356 free_clear_pte(&pte[i], pte[i], &freelist); in iommu_v1_map_pages()
358 if (!list_empty(&freelist)) in iommu_v1_map_pages()
400 iommu_put_pages_list(&freelist); in iommu_v1_map_pages()
529 LIST_HEAD(freelist); in v1_free_pgtable()
538 free_sub_pt(pgtable->root, pgtable->mode, &freelist); in v1_free_pgtable()
539 iommu_put_pages_list(&freelist); in v1_free_pgtable()