Searched refs:hwpt_paging (Results 1 – 5 of 5) sorted by relevance
| /linux/drivers/iommu/iommufd/ |
| H A D | device.c | 371 struct iommufd_hwpt_paging *hwpt_paging) in iommufd_group_setup_msi() argument 390 rc = iommufd_sw_msi_install(ictx, hwpt_paging, cur); in iommufd_group_setup_msi() 399 struct iommufd_hwpt_paging *hwpt_paging) in iommufd_group_setup_msi() argument 414 struct iommufd_hwpt_paging *hwpt_paging) in iommufd_device_attach_reserved_iova() argument 421 rc = iopt_table_enforce_dev_resv_regions(&hwpt_paging->ioas->iopt, in iommufd_device_attach_reserved_iova() 428 rc = iommufd_group_setup_msi(igroup, hwpt_paging); in iommufd_device_attach_reserved_iova() 430 iopt_remove_reserved_iova(&hwpt_paging->ioas->iopt, in iommufd_device_attach_reserved_iova() 605 struct iommufd_hwpt_paging *hwpt_paging = find_hwpt_paging(hwpt); in iommufd_hw_pagetable_attach() local 606 bool attach_resv = hwpt_paging && pasid == IOMMU_NO_PASID; in iommufd_hw_pagetable_attach() 645 rc = iommufd_device_attach_reserved_iova(idev, hwpt_paging); in iommufd_hw_pagetable_attach() [all …]
|
| H A D | driver.c | 218 struct iommufd_hwpt_paging *hwpt_paging, in iommufd_sw_msi_install() argument 226 if (!test_bit(msi_map->id, hwpt_paging->present_sw_msi.bitmap)) { in iommufd_sw_msi_install() 229 rc = iommu_map(hwpt_paging->common.domain, iova, in iommufd_sw_msi_install() 235 __set_bit(msi_map->id, hwpt_paging->present_sw_msi.bitmap); in iommufd_sw_msi_install() 251 struct iommufd_hwpt_paging *hwpt_paging; in iommufd_sw_msi() local 270 hwpt_paging = find_hwpt_paging(domain->iommufd_hwpt); in iommufd_sw_msi() 290 rc = iommufd_sw_msi_install(ictx, hwpt_paging, msi_map); in iommufd_sw_msi()
|
| H A D | viommu.c | 25 struct iommufd_hwpt_paging *hwpt_paging; in iommufd_viommu_alloc_ioctl() local 60 hwpt_paging = iommufd_get_hwpt_paging(ucmd, cmd->hwpt_id); in iommufd_viommu_alloc_ioctl() 61 if (IS_ERR(hwpt_paging)) { in iommufd_viommu_alloc_ioctl() 62 rc = PTR_ERR(hwpt_paging); in iommufd_viommu_alloc_ioctl() 66 if (!hwpt_paging->nest_parent) { in iommufd_viommu_alloc_ioctl() 81 viommu->hwpt = hwpt_paging; in iommufd_viommu_alloc_ioctl() 92 rc = ops->viommu_init(viommu, hwpt_paging->common.domain, in iommufd_viommu_alloc_ioctl() 107 iommufd_put_object(ucmd->ictx, &hwpt_paging->common.obj); in iommufd_viommu_alloc_ioctl()
|
| 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()
|
| H A D | iommufd_private.h | 40 struct iommufd_hwpt_paging *hwpt_paging, 457 struct iommufd_hwpt_paging *hwpt_paging = to_hwpt_paging(hwpt); in iommufd_hw_pagetable_put() local 459 if (hwpt_paging->auto_domain) { in iommufd_hw_pagetable_put() 460 lockdep_assert_not_held(&hwpt_paging->ioas->mutex); in iommufd_hw_pagetable_put()
|