Re: [PATCH RFC 1/4] vdpa: introduce .reset_map operation callback
From: Jason Wang <hidden>
Date: 2023-08-15 02:23:19
Also in:
lkml
On Tue, Aug 15, 2023 at 9:46 AM Si-Wei Liu [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Signed-off-by: Si-Wei Liu <redacted> --- include/linux/vdpa.h | 7 +++++++ 1 file changed, 7 insertions(+)diff --git a/include/linux/vdpa.h b/include/linux/vdpa.h index db1b0ea..3a3878d 100644 --- a/include/linux/vdpa.h +++ b/include/linux/vdpa.h@@ -314,6 +314,12 @@ struct vdpa_map_file { * @iova: iova to be unmapped * @size: size of the area * Returns integer: success (0) or error (< 0) + * @reset_map: Reset device memory mapping (optional) + * Needed for device that using device + * specific DMA translation (on-chip IOMMU)
This exposes the device internal to the upper layer which is not optimal. Btw, what's the difference between this and a simple set_map(NULL)? Thanks
quoted hunk ↗ jump to hunk
+ * @vdev: vdpa device + * @asid: address space identifier + * Returns integer: success (0) or error (< 0) * @get_vq_dma_dev: Get the dma device for a specific * virtqueue (optional) * @vdev: vdpa device@@ -390,6 +396,7 @@ struct vdpa_config_ops { u64 iova, u64 size, u64 pa, u32 perm, void *opaque); int (*dma_unmap)(struct vdpa_device *vdev, unsigned int asid, u64 iova, u64 size); + int (*reset_map)(struct vdpa_device *vdev, unsigned int asid); int (*set_group_asid)(struct vdpa_device *vdev, unsigned int group, unsigned int asid); struct device *(*get_vq_dma_dev)(struct vdpa_device *vdev, u16 idx); --1.8.3.1
_______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization