Home
last modified time | relevance | path

Searched refs:hwpt_paging (Results 1 – 5 of 5) sorted by relevance

/linux/drivers/iommu/iommufd/
H A Ddevice.c371 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 Ddriver.c218 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 Dviommu.c25 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 Dvfio_compat.c258 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 Diommufd_private.h40 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()