Commit 78d3df45 authored by Yi Liu's avatar Yi Liu Committed by Alex Williamson

iommufd: Add helper to retrieve iommufd_ctx and devid

This is needed by the vfio-pci driver to report affected devices in the
hot-reset for a given device.
Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
Tested-by: default avatarYanting Jiang <yanting.jiang@intel.com>
Tested-by: default avatarTerrence Xu <terrence.xu@intel.com>
Tested-by: default avatarZhenzhong Duan <zhenzhong.duan@intel.com>
Signed-off-by: default avatarYi Liu <yi.l.liu@intel.com>
Link: https://lore.kernel.org/r/20230718105542.4138-6-yi.l.liu@intel.comSigned-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
parent 86b0a96c
...@@ -146,6 +146,18 @@ void iommufd_device_unbind(struct iommufd_device *idev) ...@@ -146,6 +146,18 @@ void iommufd_device_unbind(struct iommufd_device *idev)
} }
EXPORT_SYMBOL_NS_GPL(iommufd_device_unbind, IOMMUFD); EXPORT_SYMBOL_NS_GPL(iommufd_device_unbind, IOMMUFD);
struct iommufd_ctx *iommufd_device_to_ictx(struct iommufd_device *idev)
{
return idev->ictx;
}
EXPORT_SYMBOL_NS_GPL(iommufd_device_to_ictx, IOMMUFD);
u32 iommufd_device_to_id(struct iommufd_device *idev)
{
return idev->obj.id;
}
EXPORT_SYMBOL_NS_GPL(iommufd_device_to_id, IOMMUFD);
static int iommufd_device_setup_msi(struct iommufd_device *idev, static int iommufd_device_setup_msi(struct iommufd_device *idev,
struct iommufd_hw_pagetable *hwpt, struct iommufd_hw_pagetable *hwpt,
phys_addr_t sw_msi_start) phys_addr_t sw_msi_start)
......
...@@ -25,6 +25,9 @@ void iommufd_device_unbind(struct iommufd_device *idev); ...@@ -25,6 +25,9 @@ void iommufd_device_unbind(struct iommufd_device *idev);
int iommufd_device_attach(struct iommufd_device *idev, u32 *pt_id); int iommufd_device_attach(struct iommufd_device *idev, u32 *pt_id);
void iommufd_device_detach(struct iommufd_device *idev); void iommufd_device_detach(struct iommufd_device *idev);
struct iommufd_ctx *iommufd_device_to_ictx(struct iommufd_device *idev);
u32 iommufd_device_to_id(struct iommufd_device *idev);
struct iommufd_access_ops { struct iommufd_access_ops {
u8 needs_pin_pages : 1; u8 needs_pin_pages : 1;
void (*unmap)(void *data, unsigned long iova, unsigned long length); void (*unmap)(void *data, unsigned long iova, unsigned long length);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment