This patch introduces a new bus operation to allow the vDPA bus driver
to associate an ASID to a virtqueue group.

Signed-off-by: Jason Wang <jasow...@redhat.com>
---
 include/linux/vdpa.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/include/linux/vdpa.h b/include/linux/vdpa.h
index 1e1163daa352..e2394995a3cd 100644
--- a/include/linux/vdpa.h
+++ b/include/linux/vdpa.h
@@ -160,6 +160,12 @@ struct vdpa_device {
  * @get_generation:            Get device config generation (optional)
  *                             @vdev: vdpa device
  *                             Returns u32: device generation
+ * @set_group_asid:            Set address space identifier for a
+ *                             virtqueue group
+ *                             @vdev: vdpa device
+ *                             @group: virtqueue group
+ *                             @asid: address space id for this group
+ *                             Returns integer: success (0) or error (< 0)
  * @set_map:                   Set device memory mapping (optional)
  *                             Needed for device that using device
  *                             specific DMA translation (on-chip IOMMU)
@@ -237,6 +243,10 @@ struct vdpa_config_ops {
                       u64 iova, u64 size, u64 pa, u32 perm);
        int (*dma_unmap)(struct vdpa_device *vdev, unsigned int asid,
                         u64 iova, u64 size);
+       int (*set_group_asid)(struct vdpa_device *vdev, unsigned int group,
+                             unsigned int asid);
+
+
 
        /* Free device resources */
        void (*free)(struct vdpa_device *vdev);
-- 
2.20.1

Reply via email to