Commit 00d1f546 authored by Jason Wang's avatar Jason Wang Committed by Michael S. Tsirkin

vdpa: make get_vq_group and set_group_asid optional

This patch makes get_vq_group and set_group_asid optional. This is
needed to unbreak the vDPA parent that doesn't support multiple
address spaces.

Cc: Gautam Dawar <gautam.dawar@xilinx.com>
Fixes: aaca8373 ("vhost-vdpa: support ASID based IOTLB API")
Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
Message-Id: <20220609041901.2029-1-jasowang@redhat.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent acb0055e
...@@ -499,6 +499,8 @@ static long vhost_vdpa_vring_ioctl(struct vhost_vdpa *v, unsigned int cmd, ...@@ -499,6 +499,8 @@ static long vhost_vdpa_vring_ioctl(struct vhost_vdpa *v, unsigned int cmd,
ops->set_vq_ready(vdpa, idx, s.num); ops->set_vq_ready(vdpa, idx, s.num);
return 0; return 0;
case VHOST_VDPA_GET_VRING_GROUP: case VHOST_VDPA_GET_VRING_GROUP:
if (!ops->get_vq_group)
return -EOPNOTSUPP;
s.index = idx; s.index = idx;
s.num = ops->get_vq_group(vdpa, idx); s.num = ops->get_vq_group(vdpa, idx);
if (s.num >= vdpa->ngroups) if (s.num >= vdpa->ngroups)
......
...@@ -178,7 +178,8 @@ struct vdpa_map_file { ...@@ -178,7 +178,8 @@ struct vdpa_map_file {
* for the device * for the device
* @vdev: vdpa device * @vdev: vdpa device
* Returns virtqueue algin requirement * Returns virtqueue algin requirement
* @get_vq_group: Get the group id for a specific virtqueue * @get_vq_group: Get the group id for a specific
* virtqueue (optional)
* @vdev: vdpa device * @vdev: vdpa device
* @idx: virtqueue index * @idx: virtqueue index
* Returns u32: group id for this virtqueue * Returns u32: group id for this virtqueue
...@@ -243,7 +244,7 @@ struct vdpa_map_file { ...@@ -243,7 +244,7 @@ struct vdpa_map_file {
* Returns the iova range supported by * Returns the iova range supported by
* the device. * the device.
* @set_group_asid: Set address space identifier for a * @set_group_asid: Set address space identifier for a
* virtqueue group * virtqueue group (optional)
* @vdev: vdpa device * @vdev: vdpa device
* @group: virtqueue group * @group: virtqueue group
* @asid: address space id for this group * @asid: address space id for this group
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment