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>