vdpa: add new callback get_vq_num_min in vdpa_config_ops
authorWu Zongyong <wuzongyong@linux.alibaba.com>
Fri, 29 Oct 2021 09:14:45 +0000 (17:14 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Mon, 1 Nov 2021 08:30:35 +0000 (04:30 -0400)
This callback is optional. For vdpa devices that not support to change
virtqueue size, get_vq_num_min and get_vq_num_max will return the same
value, so that users can choose a correct value for that device.

Suggested-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Wu Zongyong <wuzongyong@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Link: https://lore.kernel.org/r/f4af5b0abd660d9a29ab6b2f67bd6df10284a230.1635493219.git.wuzongyong@linux.alibaba.com
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
include/linux/vdpa.h

index a896ee021e5f9ff3ee17af416026e95f17de5625..30864848950b77af16d72401e2b206583dc9cd02 100644 (file)
@@ -171,6 +171,9 @@ struct vdpa_map_file {
  * @get_vq_num_max:            Get the max size of virtqueue
  *                             @vdev: vdpa device
  *                             Returns u16: max size of virtqueue
+ * @get_vq_num_min:            Get the min size of virtqueue (optional)
+ *                             @vdev: vdpa device
+ *                             Returns u16: min size of virtqueue
  * @get_device_id:             Get virtio device id
  *                             @vdev: vdpa device
  *                             Returns u32: virtio device id
@@ -266,6 +269,7 @@ struct vdpa_config_ops {
        void (*set_config_cb)(struct vdpa_device *vdev,
                              struct vdpa_callback *cb);
        u16 (*get_vq_num_max)(struct vdpa_device *vdev);
+       u16 (*get_vq_num_min)(struct vdpa_device *vdev);
        u32 (*get_device_id)(struct vdpa_device *vdev);
        u32 (*get_vendor_id)(struct vdpa_device *vdev);
        u8 (*get_status)(struct vdpa_device *vdev);