mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-09-12 14:13:05 -04:00
Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
Pull vhost,vdpa,virtio updates from Michael Tsirkin: - transport v3 support in virtio-mmio - suspend support in vduse - fixes, cleanups all over the place * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (54 commits) vduse: Add suspend vduse: do not take rwsem at reset work flush vduse: add F_QUEUE_READY feature vduse: add VDUSE_SET_FEATURES ioctl vduse: add VDUSE_GET_FEATURES ioctl vduse: store control device pointer tools/virtio: Fix control typo in trace agent comment tools/virtio: Fix userspace typo in vringh test comment vhost: reject zero-size IOTLB INVALIDATE vdpa: Remove redundant dev_err() virtio_ring: fix infinite loop in virtnet_poll_cleantx when device is broken vdpa/mlx5: roll back MR update after VQ setup failure MAINTAINERS: remove Gabriel from LiteX and fw-cfg drivers virtio_mem: fix typo in comment vdpa/solidrun: fix typos in snet_ctrl comments virtio: fix article before virtio in dma-buf comment vhost: fix inaccurate kdoc in iotlb helpers virtio: rtc: time out alarm requests vdpa/mlx5: fix wrong MLX5_ADDR_OF struct type in alloc_inout() vdpa: octeon_ep: add missing MODULE_DEVICE_TABLE() ...
This commit is contained in:
@@ -14,6 +14,12 @@
|
||||
|
||||
#define VDUSE_API_VERSION_1 1
|
||||
|
||||
/* The VDUSE instance expects a request for vq ready */
|
||||
#define VDUSE_F_QUEUE_READY 0
|
||||
|
||||
/* The VDUSE instance expects a request for suspend */
|
||||
#define VDUSE_F_SUSPEND 1
|
||||
|
||||
/*
|
||||
* Get the version of VDUSE API that kernel supported (VDUSE_API_VERSION).
|
||||
* This is used for future extension.
|
||||
@@ -63,6 +69,12 @@ struct vduse_dev_config {
|
||||
*/
|
||||
#define VDUSE_DESTROY_DEV _IOW(VDUSE_BASE, 0x03, char[VDUSE_NAME_MAX])
|
||||
|
||||
/* Get the VDUSE supported features */
|
||||
#define VDUSE_GET_FEATURES _IOR(VDUSE_BASE, 0x04, __u64)
|
||||
|
||||
/* Set the VDUSE features */
|
||||
#define VDUSE_SET_FEATURES _IOW(VDUSE_BASE, 0x05, __u64)
|
||||
|
||||
/* The ioctls for VDUSE device (/dev/vduse/$NAME) */
|
||||
|
||||
/**
|
||||
@@ -325,6 +337,8 @@ enum vduse_req_type {
|
||||
VDUSE_SET_STATUS,
|
||||
VDUSE_UPDATE_IOTLB,
|
||||
VDUSE_SET_VQ_GROUP_ASID,
|
||||
VDUSE_SET_VQ_READY,
|
||||
VDUSE_SUSPEND,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -372,6 +386,15 @@ struct vduse_iova_range_v2 {
|
||||
__u32 padding;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct vduse_vq_ready - Virtqueue ready request message
|
||||
* @num: Virtqueue number
|
||||
*/
|
||||
struct vduse_vq_ready {
|
||||
__u32 num;
|
||||
__u32 ready;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct vduse_dev_request - control request
|
||||
* @type: request type
|
||||
@@ -382,6 +405,7 @@ struct vduse_iova_range_v2 {
|
||||
* @iova: IOVA range for updating
|
||||
* @iova_v2: IOVA range for updating if API_VERSION >= 1
|
||||
* @vq_group_asid: ASID of a virtqueue group
|
||||
* @vq_ready: Virtqueue ready request
|
||||
* @padding: padding
|
||||
*
|
||||
* Structure used by read(2) on /dev/vduse/$NAME.
|
||||
@@ -399,6 +423,10 @@ struct vduse_dev_request {
|
||||
*/
|
||||
struct vduse_iova_range_v2 iova_v2;
|
||||
struct vduse_vq_group_asid vq_group_asid;
|
||||
|
||||
/* Only if VDUSE_F_QUEUE_READY is negotiated */
|
||||
struct vduse_vq_ready vq_ready;
|
||||
|
||||
__u32 padding[32];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
#define VIRTIO_ID_BT 40 /* virtio bluetooth */
|
||||
#define VIRTIO_ID_GPIO 41 /* virtio gpio */
|
||||
#define VIRTIO_ID_SPI 45 /* virtio spi */
|
||||
#define VIRTIO_ID_MEDIA 48 /* virtio media */
|
||||
|
||||
/*
|
||||
* Virtio Transitional IDs
|
||||
|
||||
Reference in New Issue
Block a user