diff options
| author | Jiri Pirko <jiri@nvidia.com> | 2024-07-16 14:35:48 +0300 |
|---|---|---|
| committer | Michael S. Tsirkin <mst@redhat.com> | 2024-07-17 12:43:21 +0300 |
| commit | af22bbe1f4a514c80b89a27252beef033168f4e9 (patch) | |
| tree | 96b789faa0b480fb29fbccc0340a5a489475c9e1 /include/linux | |
| parent | 89a1c435aec269d109ed46ca7bbb10fa8edf7ace (diff) | |
| download | linux-af22bbe1f4a514c80b89a27252beef033168f4e9.tar.xz | |
virtio: create admin queues alongside other virtqueues
Admin virtqueue is just another virtqueue nothing that special about it.
The current implementation treats it somehow separate though in terms
of creation and deletion. Unify the admin virtqueue creation and
deletion flows to be aligned with the rest of virtqueues, creating
it from vp_find_vqs_*() helpers. Let the admin virtqueue to be deleted
by vp_del_vqs() as the rest.
Call vp_find_one_vq_msix() with slow_path argument being "true" to make
sure that in case of limited interrupt vectors the config vector is used
for admin queue.
Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Message-Id: <20240716113552.80599-10-jiri@resnulli.us>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/virtio_config.h | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h index ab4b9a3fef6b..169c7d367fac 100644 --- a/include/linux/virtio_config.h +++ b/include/linux/virtio_config.h @@ -104,8 +104,6 @@ struct virtqueue_info { * Returns 0 on success or error status * If disable_vq_and_reset is set, then enable_vq_after_reset must also be * set. - * @create_avq: create admin virtqueue resource. - * @destroy_avq: destroy admin virtqueue resource. */ struct virtio_config_ops { void (*get)(struct virtio_device *vdev, unsigned offset, @@ -133,8 +131,6 @@ struct virtio_config_ops { struct virtio_shm_region *region, u8 id); int (*disable_vq_and_reset)(struct virtqueue *vq); int (*enable_vq_after_reset)(struct virtqueue *vq); - int (*create_avq)(struct virtio_device *vdev); - void (*destroy_avq)(struct virtio_device *vdev); }; /* If driver didn't advertise the feature, it will never appear. */ |
