On Fri, 22 Feb 2019 16:29:57 +0100
Pierre Morel <pmorel@xxxxxxxxxxxxx> wrote:
To be able to use the VFIO interface to facilitate the
mediated device memory pining/unpining we need to register
s/pining/pinning/ (unless it's pining for the fjords :)
a notifier for IOMMU.
Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxx>
---
drivers/s390/crypto/vfio_ap_ops.c | 53 ++++++++++++++++++++++++++++++++---
drivers/s390/crypto/vfio_ap_private.h | 2 ++
2 files changed, 51 insertions(+), 4 deletions(-)
diff --git a/drivers/s390/crypto/vfio_ap_ops.c b/drivers/s390/crypto/vfio_ap_ops.c
index 172d6eb..1b5130a 100644
--- a/drivers/s390/crypto/vfio_ap_ops.c
+++ b/drivers/s390/crypto/vfio_ap_ops.c
@@ -748,6 +748,36 @@ static const struct attribute_group *vfio_ap_mdev_attr_groups[] = {
};
/**
+ * vfio_ap_mdev_iommu_notifier: IOMMU notifier callback
+ *
+ * @nb: The notifier block
+ * @action: Action to be taken (VFIO_IOMMU_NOTIFY_DMA_UNMAP)
I'd drop this annotation; you only do something for UNMAP but nothing
prevents the caller from passing in something else :)
+ * @data: the specific unmap structure for vfio_iommu_type1
"data associated with the request" ?
(same reasoning as above)
+ *
+ * Unpins the guest IOVA. (The NIB guest address we pinned before).
+ * Return NOTIFY_OK after unpining on a UNMAP request.
+ * otherwise, returns NOTIFY_DONE .
"For an UNMAP request, unpin the guest IOVA (the NIB guest address we
pinned before). Other requests are ignored."
?
+ */
Looks sane to me.
With comments changed,
Reviewed-by: Cornelia Huck <cohuck@xxxxxxxxxx>