vp_vdpa: implement vdpa_config_ops.get_vq_size
authorZhu Lingshan <lingshan.zhu@intel.com>
Fri, 2 Feb 2024 16:38:59 +0000 (00:38 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 19 Mar 2024 06:45:50 +0000 (02:45 -0400)
This commit implements vdpa_config_ops.get_vq_size in
vp_vdpa, which reports per virtqueue size.

Signed-off-by: Zhu Lingshan <lingshan.zhu@intel.com>
Message-Id: <20240202163905.8834-5-lingshan.zhu@intel.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/vdpa/virtio_pci/vp_vdpa.c

index 281287fae89f137e18e09d5c259115f3af1fcb4f..df5f4a3bccb57ab63ae14be32c3a30692eeb8ac0 100644 (file)
@@ -328,6 +328,13 @@ static void vp_vdpa_set_vq_num(struct vdpa_device *vdpa, u16 qid,
        vp_modern_set_queue_size(mdev, qid, num);
 }
 
+static u16 vp_vdpa_get_vq_size(struct vdpa_device *vdpa, u16 qid)
+{
+       struct virtio_pci_modern_device *mdev = vdpa_to_mdev(vdpa);
+
+       return vp_modern_get_queue_size(mdev, qid);
+}
+
 static int vp_vdpa_set_vq_address(struct vdpa_device *vdpa, u16 qid,
                                  u64 desc_area, u64 driver_area,
                                  u64 device_area)
@@ -449,6 +456,7 @@ static const struct vdpa_config_ops vp_vdpa_ops = {
        .set_vq_ready   = vp_vdpa_set_vq_ready,
        .get_vq_ready   = vp_vdpa_get_vq_ready,
        .set_vq_num     = vp_vdpa_set_vq_num,
+       .get_vq_size    = vp_vdpa_get_vq_size,
        .set_vq_address = vp_vdpa_set_vq_address,
        .kick_vq        = vp_vdpa_kick_vq,
        .get_generation = vp_vdpa_get_generation,