Message ID | 20221207145428.31544-1-gautam.dawar@amd.com (mailing list archive) |
---|---|
Headers | show |
Series | sfc: add vDPA support for EF100 devices | expand |
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@gmail.com> > > 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