Lines Matching refs:sf
72 struct sf_buf **sf, struct iommu_map_entry *entry, bool free_sf);
129 int lvl, int flags, vm_pindex_t *idxp, struct sf_buf **sf) in amdiommu_pgtbl_map_pte() argument
137 if (*sf != NULL && idx == *idxp) { in amdiommu_pgtbl_map_pte()
138 pte = (iommu_pte_t *)sf_buf_kva(*sf); in amdiommu_pgtbl_map_pte()
140 if (*sf != NULL) in amdiommu_pgtbl_map_pte()
141 iommu_unmap_pgtbl(*sf); in amdiommu_pgtbl_map_pte()
144 pte = iommu_map_pgtbl(domain->pgtbl_obj, idx, flags, sf); in amdiommu_pgtbl_map_pte()
191 struct sf_buf *sf; in amdiommu_map_buf_locked() local
201 sf = NULL; in amdiommu_map_buf_locked()
209 flags, &idx, &sf); in amdiommu_map_buf_locked()
213 if (sf != NULL) in amdiommu_map_buf_locked()
214 iommu_unmap_pgtbl(sf); in amdiommu_map_buf_locked()
221 vm_page_wire(sf_buf_page(sf)); in amdiommu_map_buf_locked()
223 if (sf != NULL) in amdiommu_map_buf_locked()
224 iommu_unmap_pgtbl(sf); in amdiommu_map_buf_locked()
290 struct sf_buf *sf; in amdiommu_free_pgtbl_pde() local
294 sf = NULL; in amdiommu_free_pgtbl_pde()
295 pde = amdiommu_pgtbl_map_pte(domain, base, lvl, flags, &idx, &sf); in amdiommu_free_pgtbl_pde()
296 amdiommu_unmap_clear_pte(domain, base, lvl, flags, pde, &sf, entry, in amdiommu_free_pgtbl_pde()
302 int lvl, int flags, iommu_pte_t *pte, struct sf_buf **sf, in amdiommu_unmap_clear_pte() argument
308 m = sf_buf_page(*sf); in amdiommu_unmap_clear_pte()
310 iommu_unmap_pgtbl(*sf); in amdiommu_unmap_clear_pte()
311 *sf = NULL; in amdiommu_unmap_clear_pte()
330 struct sf_buf *sf; in amdiommu_unmap_buf_locked() local
360 for (sf = NULL; size > 0; base += pg_sz, size -= pg_sz) { in amdiommu_unmap_buf_locked()
362 domain->pglvl - 1, flags, &idx, &sf); in amdiommu_unmap_buf_locked()
367 flags, pte, &sf, entry, false); in amdiommu_unmap_buf_locked()
372 if (sf != NULL) in amdiommu_unmap_buf_locked()
373 iommu_unmap_pgtbl(sf); in amdiommu_unmap_buf_locked()