Re: [PATCH net-next 00/11] sfc: add vDPA support for EF100 devices

From: Martin Habets
Date: Sun Dec 11 2022 - 13:30:02 EST


On Wed, Dec 07, 2022 at 08:24:16PM +0530, Gautam Dawar wrote:
> Hi All,
>
> This series adds the vdpa support for EF100 devices.
> For now, only a network class of vdpa device is supported and
> they can be created only on a VF. Each EF100 VF can have one
> of the three function personalities (EF100, vDPA & None) at
> any time with EF100 being the default. A VF's function personality
> is changed to vDPA while creating the vdpa device using vdpa tool.
>
> A vDPA management device is created per VF to allow selection of
> the desired VF for vDPA device creation. The MAC address for the
> target net device must be specified at the device creation time
> via the `mac` parameter of the `vdpa dev add` command as the control
> virtqueue is not supported yet.
>
> To use with vhost-vdpa, QEMU version 6.1.0 or later must be used
> as it fixes the incorrect feature negotiation (vhost-vdpa backend)
> without which VIRTIO_F_IN_ORDER feature bit is negotiated but not
> honored when using the guest kernel virtio driver.
>
> Gautam Dawar (11):
> sfc: add function personality support for EF100 devices
> sfc: implement MCDI interface for vDPA operations
> sfc: implement init and fini functions for vDPA personality
> sfc: implement vDPA management device operations
> sfc: implement vdpa device config operations
> sfc: implement vdpa vring config operations
> sfc: implement filters for receiving traffic
> sfc: implement device status related vdpa config operations
> sfc: implement iova rbtree to store dma mappings
> sfc: implement vdpa config_ops for dma operations
> sfc: register the vDPA device

For the series:
Acked-by: Martin Habets <habetsm.xilinx@xxxxxxxxx>

>
> drivers/net/ethernet/sfc/Kconfig | 8 +
> drivers/net/ethernet/sfc/Makefile | 2 +
> drivers/net/ethernet/sfc/ef10.c | 2 +-
> drivers/net/ethernet/sfc/ef100.c | 6 +-
> drivers/net/ethernet/sfc/ef100_iova.c | 205 +++++
> drivers/net/ethernet/sfc/ef100_iova.h | 40 +
> drivers/net/ethernet/sfc/ef100_nic.c | 126 ++-
> drivers/net/ethernet/sfc/ef100_nic.h | 22 +
> drivers/net/ethernet/sfc/ef100_vdpa.c | 693 +++++++++++++++++
> drivers/net/ethernet/sfc/ef100_vdpa.h | 241 ++++++
> drivers/net/ethernet/sfc/ef100_vdpa_ops.c | 897 ++++++++++++++++++++++
> drivers/net/ethernet/sfc/mcdi.h | 7 +
> drivers/net/ethernet/sfc/mcdi_filters.c | 51 +-
> drivers/net/ethernet/sfc/mcdi_functions.c | 9 +-
> drivers/net/ethernet/sfc/mcdi_functions.h | 3 +-
> drivers/net/ethernet/sfc/mcdi_vdpa.c | 268 +++++++
> drivers/net/ethernet/sfc/mcdi_vdpa.h | 84 ++
> drivers/net/ethernet/sfc/net_driver.h | 19 +
> 18 files changed, 2650 insertions(+), 33 deletions(-)
> create mode 100644 drivers/net/ethernet/sfc/ef100_iova.c
> create mode 100644 drivers/net/ethernet/sfc/ef100_iova.h
> create mode 100644 drivers/net/ethernet/sfc/ef100_vdpa.c
> create mode 100644 drivers/net/ethernet/sfc/ef100_vdpa.h
> create mode 100644 drivers/net/ethernet/sfc/ef100_vdpa_ops.c
> create mode 100644 drivers/net/ethernet/sfc/mcdi_vdpa.c
> create mode 100644 drivers/net/ethernet/sfc/mcdi_vdpa.h
>
> --
> 2.30.1