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

From: "Michael S. Tsirkin" <[email-masked]>
Date: Wed, 5 May 2021 16:11:35 -0400

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 <[email-masked]>

----------------------------------------------------------------
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