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

From: Martin Habets <[email-masked]>
Date: Sun, 11 Dec 2022 18:05:58 +0000

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

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