Searched refs:hwpt_paging (Results 1 – 6 of 6) sorted by relevance
| /linux-6.15/drivers/iommu/iommufd/ |
| H A D | hw_pagetable.c | 31 hwpt_paging->common.domain); in iommufd_hwpt_paging_destroy() 137 if (IS_ERR(hwpt_paging)) in iommufd_hwpt_paging_alloc() 139 hwpt = &hwpt_paging->common; in iommufd_hwpt_paging_alloc() 145 hwpt_paging->ioas = ioas; in iommufd_hwpt_paging_alloc() 204 return hwpt_paging; in iommufd_hwpt_paging_alloc() 374 if (IS_ERR(hwpt_paging)) { in iommufd_hwpt_alloc() 375 rc = PTR_ERR(hwpt_paging); in iommufd_hwpt_alloc() 458 if (IS_ERR(hwpt_paging)) in iommufd_hwpt_set_dirty_tracking() 461 ioas = hwpt_paging->ioas; in iommufd_hwpt_set_dirty_tracking() 483 if (IS_ERR(hwpt_paging)) in iommufd_hwpt_get_dirty_bitmap() [all …]
|
| H A D | device.c | 349 struct iommufd_hwpt_paging *hwpt_paging) in iommufd_group_setup_msi() argument 641 struct iommufd_hwpt_paging *hwpt_paging; in iommufd_hw_pagetable_detach() local 653 hwpt_paging = find_hwpt_paging(hwpt); in iommufd_hw_pagetable_detach() 776 (!hwpt_paging || hwpt_paging->ioas != old_hwpt_paging->ioas)) in iommufd_device_do_replace() 825 struct iommufd_hwpt_paging *hwpt_paging; in iommufd_device_auto_get_domain() local 835 if (!hwpt_paging->auto_domain) in iommufd_device_auto_get_domain() 838 hwpt = &hwpt_paging->common; in iommufd_device_auto_get_domain() 861 if (IS_ERR(hwpt_paging)) { in iommufd_device_auto_get_domain() 862 destroy_hwpt = ERR_CAST(hwpt_paging); in iommufd_device_auto_get_domain() 865 hwpt = &hwpt_paging->common; in iommufd_device_auto_get_domain() [all …]
|
| H A D | viommu.c | 20 struct iommufd_hwpt_paging *hwpt_paging; in iommufd_viommu_alloc_ioctl() local 39 hwpt_paging = iommufd_get_hwpt_paging(ucmd, cmd->hwpt_id); in iommufd_viommu_alloc_ioctl() 40 if (IS_ERR(hwpt_paging)) { in iommufd_viommu_alloc_ioctl() 41 rc = PTR_ERR(hwpt_paging); in iommufd_viommu_alloc_ioctl() 45 if (!hwpt_paging->nest_parent) { in iommufd_viommu_alloc_ioctl() 50 viommu = ops->viommu_alloc(idev->dev, hwpt_paging->common.domain, in iommufd_viommu_alloc_ioctl() 60 viommu->hwpt = hwpt_paging; in iommufd_viommu_alloc_ioctl() 81 iommufd_put_object(ucmd->ictx, &hwpt_paging->common.obj); in iommufd_viommu_alloc_ioctl()
|
| H A D | driver.c | 165 struct iommufd_hwpt_paging *hwpt_paging, in iommufd_sw_msi_install() argument 173 if (!test_bit(msi_map->id, hwpt_paging->present_sw_msi.bitmap)) { in iommufd_sw_msi_install() 176 rc = iommu_map(hwpt_paging->common.domain, iova, in iommufd_sw_msi_install() 182 __set_bit(msi_map->id, hwpt_paging->present_sw_msi.bitmap); in iommufd_sw_msi_install() 198 struct iommufd_hwpt_paging *hwpt_paging; in iommufd_sw_msi() local 217 hwpt_paging = find_hwpt_paging(domain->iommufd_hwpt); in iommufd_sw_msi() 237 rc = iommufd_sw_msi_install(ictx, hwpt_paging, msi_map); in iommufd_sw_msi()
|
| H A D | iommufd_private.h | 37 struct iommufd_hwpt_paging *hwpt_paging, 391 struct iommufd_hwpt_paging *hwpt_paging = to_hwpt_paging(hwpt); in iommufd_hw_pagetable_put() local 393 lockdep_assert_not_held(&hwpt_paging->ioas->mutex); in iommufd_hw_pagetable_put() 395 if (hwpt_paging->auto_domain) { in iommufd_hw_pagetable_put()
|
| H A D | vfio_compat.c | 258 struct iommufd_hwpt_paging *hwpt_paging; in iommufd_vfio_cc_iommu() local 267 list_for_each_entry(hwpt_paging, &ioas->hwpt_list, hwpt_item) { in iommufd_vfio_cc_iommu() 268 if (!hwpt_paging->enforce_cache_coherency) { in iommufd_vfio_cc_iommu()
|