Subject: [GIT PULL] virtio: fixes for rc1

From: "Michael S. Tsirkin" <[email-masked]>
Date: Sun, 28 Jul 2024 19:19:56 -0400

The biggest thing here is the adminq change - but it looks like
the only way to avoid headq blocking causing indefinite stalls.

The following changes since commit 6c85d6b653caeba2ef982925703cbb4f2b3b3163:

  virtio: rename virtio_find_vqs_info() to virtio_find_vqs() (2024-07-17 05:20:58 -0400)

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 6d834691da474ed1c648753d3d3a3ef8379fa1c1:

  virtio_pci_modern: remove admin queue serialization lock (2024-07-17 05:43:21 -0400)

----------------------------------------------------------------
virtio: fixes

This fixes 3 issues:
- prevent admin commands on one VF blocking another:
  fixes a huge scalability issue with large # of VFs
- correctly return error on command failure on octeon
  fixes a corruption if any commands fail
- fix modpost warning when building virtio_dma_buf
  harmless, but the fix is trivial

Signed-off-by: Michael S. Tsirkin <[email-masked]>

----------------------------------------------------------------
Dan Carpenter (1):
      vdpa/octeon_ep: Fix error code in octep_process_mbox()

Jeff Johnson (1):
      virtio: add missing MODULE_DESCRIPTION() macro

Jiri Pirko (13):
      virtio_pci: push out single vq find code to vp_find_one_vq_msix()
      virtio_pci: simplify vp_request_msix_vectors() call a bit
      virtio_pci: pass vector policy enum to vp_find_vqs_msix()
      virtio_pci: pass vector policy enum to vp_find_one_vq_msix()
      virtio_pci: introduce vector allocation fallback for slow path virtqueues
      virtio_pci_modern: treat vp_dev->admin_vq.info.vq pointer as static
      virtio: push out code to vp_avq_index()
      virtio_pci: pass vq info as an argument to vp_setup_vq()
      virtio: create admin queues alongside other virtqueues
      virtio_pci_modern: create admin queue of queried size
      virtio_pci_modern: pass cmd as an identification token
      virtio_pci_modern: use completion instead of busy loop to wait on admin cmd result
      virtio_pci_modern: remove admin queue serialization lock

 drivers/vdpa/octeon_ep/octep_vdpa_hw.c |   2 +-
 drivers/virtio/virtio.c                |  28 +----
 drivers/virtio/virtio_dma_buf.c        |   1 +
 drivers/virtio/virtio_pci_common.c     | 192 ++++++++++++++++++++++++++-------
 drivers/virtio/virtio_pci_common.h     |  16 +--
 drivers/virtio/virtio_pci_modern.c     | 161 +++++++++++++--------------
 include/linux/virtio.h                 |   3 +
 include/linux/virtio_config.h          |   4 -
 8 files changed, 243 insertions(+), 164 deletions(-)