Jason Wang
2021-Jul-05 07:19 UTC
[PATCH 2/2] vdpa: vp_vdpa: don't use hard-coded maximum virtqueue size
This patch switch to read virtqueue size from the capability instead of depending on the hardcoded value. This allows the per virtqueue size could be advertised. Signed-off-by: Jason Wang <jasowang at redhat.com> --- drivers/vdpa/virtio_pci/vp_vdpa.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/vdpa/virtio_pci/vp_vdpa.c b/drivers/vdpa/virtio_pci/vp_vdpa.c index 2926641fb586..198f7076e4d9 100644 --- a/drivers/vdpa/virtio_pci/vp_vdpa.c +++ b/drivers/vdpa/virtio_pci/vp_vdpa.c @@ -18,7 +18,6 @@ #include <linux/virtio_pci.h> #include <linux/virtio_pci_modern.h> -#define VP_VDPA_QUEUE_MAX 256 #define VP_VDPA_DRIVER_NAME "vp_vdpa" #define VP_VDPA_NAME_SIZE 256 @@ -197,7 +196,10 @@ static void vp_vdpa_set_status(struct vdpa_device *vdpa, u8 status) static u16 vp_vdpa_get_vq_num_max(struct vdpa_device *vdpa, u16 qid) { - return VP_VDPA_QUEUE_MAX; + struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa); + struct virtio_pci_modern_device *mdev = &vp_vdpa->mdev; + + return vp_modern_get_queue_size(mdev, qid); } static int vp_vdpa_get_vq_state(struct vdpa_device *vdpa, u16 qid, -- 2.25.1
Michael S. Tsirkin
2021-Jul-05 07:26 UTC
[PATCH 2/2] vdpa: vp_vdpa: don't use hard-coded maximum virtqueue size
On Mon, Jul 05, 2021 at 03:19:10PM +0800, Jason Wang wrote:> This patch switch to read virtqueue size from the capability instead > of depending on the hardcoded value. This allows the per virtqueue > size could be advertised. > > Signed-off-by: Jason Wang <jasowang at redhat.com>So let's add an ioctl for this? It's really a bug we don't..> --- > drivers/vdpa/virtio_pci/vp_vdpa.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/vdpa/virtio_pci/vp_vdpa.c b/drivers/vdpa/virtio_pci/vp_vdpa.c > index 2926641fb586..198f7076e4d9 100644 > --- a/drivers/vdpa/virtio_pci/vp_vdpa.c > +++ b/drivers/vdpa/virtio_pci/vp_vdpa.c > @@ -18,7 +18,6 @@ > #include <linux/virtio_pci.h> > #include <linux/virtio_pci_modern.h> > > -#define VP_VDPA_QUEUE_MAX 256 > #define VP_VDPA_DRIVER_NAME "vp_vdpa" > #define VP_VDPA_NAME_SIZE 256 > > @@ -197,7 +196,10 @@ static void vp_vdpa_set_status(struct vdpa_device *vdpa, u8 status) > > static u16 vp_vdpa_get_vq_num_max(struct vdpa_device *vdpa, u16 qid) > { > - return VP_VDPA_QUEUE_MAX; > + struct vp_vdpa *vp_vdpa = vdpa_to_vp(vdpa); > + struct virtio_pci_modern_device *mdev = &vp_vdpa->mdev; > + > + return vp_modern_get_queue_size(mdev, qid); > } > > static int vp_vdpa_get_vq_state(struct vdpa_device *vdpa, u16 qid, > -- > 2.25.1