Home
last modified time | relevance | path

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

/linux-6.15/drivers/iommu/iommufd/
H A Dhw_pagetable.c31 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 Ddevice.c349 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 Dviommu.c20 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 Ddriver.c165 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 Diommufd_private.h37 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 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()