Lines Matching full:sf

73     struct sf_buf **sf, struct iommu_map_entry *entry, bool free_sf);
132 int lvl, int flags, vm_pindex_t *idxp, struct sf_buf **sf) in amdiommu_pgtbl_map_pte() argument
140 if (*sf != NULL && idx == *idxp) { in amdiommu_pgtbl_map_pte()
141 pte = (iommu_pte_t *)sf_buf_kva(*sf); in amdiommu_pgtbl_map_pte()
143 if (*sf != NULL) in amdiommu_pgtbl_map_pte()
144 iommu_unmap_pgtbl(*sf); in amdiommu_pgtbl_map_pte()
147 pte = iommu_map_pgtbl(domain->pgtbl_obj, idx, flags, sf); in amdiommu_pgtbl_map_pte()
194 struct sf_buf *sf; in amdiommu_map_buf_locked() local
204 sf = NULL; in amdiommu_map_buf_locked()
212 flags, &idx, &sf); in amdiommu_map_buf_locked()
216 if (sf != NULL) in amdiommu_map_buf_locked()
217 iommu_unmap_pgtbl(sf); in amdiommu_map_buf_locked()
224 vm_page_wire(sf_buf_page(sf)); in amdiommu_map_buf_locked()
226 if (sf != NULL) in amdiommu_map_buf_locked()
227 iommu_unmap_pgtbl(sf); in amdiommu_map_buf_locked()
293 struct sf_buf *sf; in amdiommu_free_pgtbl_pde() local
297 sf = NULL; in amdiommu_free_pgtbl_pde()
298 pde = amdiommu_pgtbl_map_pte(domain, base, lvl, flags, &idx, &sf); in amdiommu_free_pgtbl_pde()
299 amdiommu_unmap_clear_pte(domain, base, lvl, flags, pde, &sf, entry, in amdiommu_free_pgtbl_pde()
305 int lvl, int flags, iommu_pte_t *pte, struct sf_buf **sf, in amdiommu_unmap_clear_pte() argument
311 m = sf_buf_page(*sf); in amdiommu_unmap_clear_pte()
313 iommu_unmap_pgtbl(*sf); in amdiommu_unmap_clear_pte()
314 *sf = NULL; in amdiommu_unmap_clear_pte()
333 struct sf_buf *sf; in amdiommu_unmap_buf_locked() local
363 for (sf = NULL; size > 0; base += pg_sz, size -= pg_sz) { in amdiommu_unmap_buf_locked()
365 domain->pglvl - 1, flags, &idx, &sf); in amdiommu_unmap_buf_locked()
370 flags, pte, &sf, entry, false); in amdiommu_unmap_buf_locked()
375 if (sf != NULL) in amdiommu_unmap_buf_locked()
376 iommu_unmap_pgtbl(sf); in amdiommu_unmap_buf_locked()