[GIT PULL] virtio,vhost,vdpa: features, fixes

From: Michael S. Tsirkin
Date: Wed May 05 2021 - 16:12:21 EST


The following changes since commit 9f4ad9e425a1d3b6a34617b8ea226d56a119a717:

Linux 5.12 (2021-04-25 13:49:08 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linus

for you to fetch changes up to d7bce85aa7b92b5de8f69b3bcedfe51d7b1aabe1:

virtio_pci_modern: correct sparse tags for notify (2021-05-04 04:19:59 -0400)

----------------------------------------------------------------
virtio,vhost,vdpa: features, fixes

A bunch of new drivers including vdpa support for block
and virtio-vdpa. Beginning of vq kick (aka doorbell) mapping support.
Misc fixes.

Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>

----------------------------------------------------------------
Eli Cohen (1):
vdpa/mlx5: Enable user to add/delete vdpa device

Jason Wang (9):
vdpa: introduce virtio pci driver
virtio_pci_modern: introduce helper to map vq notify area
virtio-pci library: switch to use vp_modern_map_vq_notify()
vp_vdpa: switch to use vp_modern_map_vq_notify()
virtio_pci_modern: hide vp_modern_get_queue_notify_off()
virito_pci libray: hide vp_modern_map_capability()
virtio-pci library: report resource address
vp_vdpa: report doorbell address
vhost-vdpa: fix vm_flags for virtqueue doorbell mapping

Liu Xiang (1):
virtio-balloon: fix a typo in comment of virtballoon_migratepage()

Max Gurtovoy (2):
virtio-net: don't allocate control_buf if not supported
vdpa: add vdpa simulator for block device

Michael S. Tsirkin (2):
virtio_pci_modern: __force cast the notify mapping
virtio_pci_modern: correct sparse tags for notify

Parav Pandit (2):
vdpa: Follow kdoc comment style
vdpa: Follow kdoc comment style

Stefano Garzarella (12):
vdpa_sim: use iova module to allocate IOVA addresses
vringh: add 'iotlb_lock' to synchronize iotlb accesses
vringh: reset kiov 'consumed' field in __vringh_iov()
vringh: explain more about cleaning riov and wiov
vringh: implement vringh_kiov_advance()
vringh: add vringh_kiov_length() helper
vdpa_sim: cleanup kiovs in vdpasim_free()
vdpa: add get_config_size callback in vdpa_config_ops
vhost/vdpa: use get_config_size callback in vhost_vdpa_config_validate()
vdpa_sim_blk: implement ramdisk behaviour
vdpa_sim_blk: handle VIRTIO_BLK_T_GET_ID
vdpa_sim_blk: add support for vdpa management tool

Xie Yongji (1):
vhost/vdpa: Remove the restriction that only supports virtio-net devices

Zhu Lingshan (10):
vDPA/ifcvf: get_vendor_id returns a device specific vendor id
vDPA/ifcvf: enable Intel C5000X-PL virtio-net for vDPA
vDPA/ifcvf: rename original IFCVF dev ids to N3000 ids
vDPA/ifcvf: remove the version number string
vDPA/ifcvf: fetch device feature bits when probe
vDPA/ifcvf: verify mandatory feature bits for vDPA
vDPA/ifcvf: deduce VIRTIO device ID from pdev ids
vDPA/ifcvf: deduce VIRTIO device ID when probe
vDPA/ifcvf: enable Intel C5000X-PL virtio-block for vDPA
vDPA/ifcvf: get_config_size should return dev specific config size

drivers/Makefile | 1 +
drivers/net/virtio_net.c | 10 +-
drivers/vdpa/Kconfig | 15 +
drivers/vdpa/Makefile | 1 +
drivers/vdpa/ifcvf/ifcvf_base.c | 24 +-
drivers/vdpa/ifcvf/ifcvf_base.h | 26 +-
drivers/vdpa/ifcvf/ifcvf_main.c | 86 +++++-
drivers/vdpa/mlx5/net/mlx5_vnet.c | 85 +++++-
drivers/vdpa/vdpa.c | 12 +-
drivers/vdpa/vdpa_sim/Makefile | 1 +
drivers/vdpa/vdpa_sim/vdpa_sim.c | 127 ++++++---
drivers/vdpa/vdpa_sim/vdpa_sim.h | 2 +
drivers/vdpa/vdpa_sim/vdpa_sim_blk.c | 338 +++++++++++++++++++++++
drivers/vdpa/virtio_pci/Makefile | 2 +
drivers/vdpa/virtio_pci/vp_vdpa.c | 484 +++++++++++++++++++++++++++++++++
drivers/vhost/vdpa.c | 16 +-
drivers/vhost/vringh.c | 69 +++--
drivers/virtio/virtio_balloon.c | 2 +-
drivers/virtio/virtio_pci_modern.c | 27 +-
drivers/virtio/virtio_pci_modern_dev.c | 67 ++++-
include/linux/vdpa.h | 42 +--
include/linux/virtio_pci_modern.h | 11 +-
include/linux/vringh.h | 19 +-
23 files changed, 1295 insertions(+), 172 deletions(-)
create mode 100644 drivers/vdpa/vdpa_sim/vdpa_sim_blk.c
create mode 100644 drivers/vdpa/virtio_pci/Makefile
create mode 100644 drivers/vdpa/virtio_pci/vp_vdpa.c