Lines Matching refs:destroy_hwpt
556 struct iommufd_hw_pagetable *destroy_hwpt; in iommufd_device_auto_get_domain() local
573 destroy_hwpt = (*do_attach)(idev, hwpt); in iommufd_device_auto_get_domain()
574 if (IS_ERR(destroy_hwpt)) { in iommufd_device_auto_get_domain()
582 if (PTR_ERR(destroy_hwpt) == -EINVAL) in iommufd_device_auto_get_domain()
594 destroy_hwpt = ERR_CAST(hwpt_paging); in iommufd_device_auto_get_domain()
600 destroy_hwpt = (*do_attach)(idev, hwpt); in iommufd_device_auto_get_domain()
601 if (IS_ERR(destroy_hwpt)) in iommufd_device_auto_get_domain()
604 destroy_hwpt = NULL; in iommufd_device_auto_get_domain()
612 return destroy_hwpt; in iommufd_device_auto_get_domain()
618 return destroy_hwpt; in iommufd_device_auto_get_domain()
624 struct iommufd_hw_pagetable *destroy_hwpt; in iommufd_device_change_pt() local
637 destroy_hwpt = (*do_attach)(idev, hwpt); in iommufd_device_change_pt()
638 if (IS_ERR(destroy_hwpt)) in iommufd_device_change_pt()
646 destroy_hwpt = iommufd_device_auto_get_domain(idev, ioas, pt_id, in iommufd_device_change_pt()
648 if (IS_ERR(destroy_hwpt)) in iommufd_device_change_pt()
653 destroy_hwpt = ERR_PTR(-EINVAL); in iommufd_device_change_pt()
659 if (destroy_hwpt) in iommufd_device_change_pt()
660 iommufd_hw_pagetable_put(idev->ictx, destroy_hwpt); in iommufd_device_change_pt()
665 return PTR_ERR(destroy_hwpt); in iommufd_device_change_pt()