Lines Matching refs:freelist

466 	struct page *freelist[HIGH_WATER_MARK];  member
1176 struct page *freelist) in dma_pte_list_pagetables() argument
1181 pg->freelist = freelist; in dma_pte_list_pagetables()
1182 freelist = pg; in dma_pte_list_pagetables()
1185 return freelist; in dma_pte_list_pagetables()
1190 freelist = dma_pte_list_pagetables(domain, level - 1, in dma_pte_list_pagetables()
1191 pte, freelist); in dma_pte_list_pagetables()
1195 return freelist; in dma_pte_list_pagetables()
1202 struct page *freelist) in dma_pte_clear_level() argument
1223 freelist = dma_pte_list_pagetables(domain, level - 1, pte, freelist); in dma_pte_clear_level()
1231 freelist = dma_pte_clear_level(domain, level - 1, in dma_pte_clear_level()
1234 freelist); in dma_pte_clear_level()
1244 return freelist; in dma_pte_clear_level()
1254 struct page *freelist = NULL; in domain_unmap() local
1261 freelist = dma_pte_clear_level(domain, agaw_to_level(domain->agaw), in domain_unmap()
1267 pgd_page->freelist = freelist; in domain_unmap()
1268 freelist = pgd_page; in domain_unmap()
1273 return freelist; in domain_unmap()
1276 static void dma_free_pagelist(struct page *freelist) in dma_free_pagelist() argument
1280 while ((pg = freelist)) { in dma_free_pagelist()
1281 freelist = pg->freelist; in dma_free_pagelist()
1914 struct page *freelist = NULL; in domain_exit() local
1932 freelist = domain_unmap(domain, 0, DOMAIN_MAX_PFN(domain->gaw)); in domain_exit()
1934 dma_free_pagelist(freelist); in domain_exit()
3528 !deferred_flush[i].freelist[j], 0); in flush_unmaps()
3535 if (deferred_flush[i].freelist[j]) in flush_unmaps()
3536 dma_free_pagelist(deferred_flush[i].freelist[j]); in flush_unmaps()
3553 static void add_unmap(struct dmar_domain *dom, struct iova *iova, struct page *freelist) in add_unmap() argument
3569 deferred_flush[iommu_id].freelist[next] = freelist; in add_unmap()
3586 struct page *freelist; in intel_unmap() local
3607 freelist = domain_unmap(domain, start_pfn, last_pfn); in intel_unmap()
3611 last_pfn - start_pfn + 1, !freelist, 0); in intel_unmap()
3614 dma_free_pagelist(freelist); in intel_unmap()
3616 add_unmap(domain, iova, freelist); in intel_unmap()
4459 struct page *freelist; in intel_iommu_memory_notifier() local
4476 freelist = domain_unmap(si_domain, iova->pfn_lo, in intel_iommu_memory_notifier()
4483 !freelist, 0); in intel_iommu_memory_notifier()
4485 dma_free_pagelist(freelist); in intel_iommu_memory_notifier()
4896 struct page *freelist = NULL; in intel_iommu_unmap() local
4912 freelist = domain_unmap(dmar_domain, start_pfn, last_pfn); in intel_iommu_unmap()
4920 start_pfn, npages, !freelist, 0); in intel_iommu_unmap()
4923 dma_free_pagelist(freelist); in intel_iommu_unmap()