This is the first foray into upstreaming a vDPA driver for the nfp. Submitting it as RFC initially, since this is touching a new component, not sure if there are potentially any new-to-us requirements this needs to fulfill. We are hoping that this is already in a state to resubmit as PATCH, depending on the feedback this receives.
This series starts out by adding the "enable_vnet" parameter to nfp_devlink, to allow setting the device mode. Next the auxiliary bus driver is added, and the VF probe functions are updated to probe the correct driver, based on the 'enable_vnet' setting. Lastly the nfp_vDPA driver is added, initialising resources and adding callbacks in accordance to the kernel vDPA framework. Kyle Xu (3): nfp: add new devlink "enable_vnet" generic device param nfp: initialize NFP VF device according to enable_vnet configuration drivers/vdpa: add NFP devices vDPA driver MAINTAINERS | 1 + drivers/net/ethernet/netronome/Kconfig | 1 + .../ethernet/netronome/nfp/devlink_param.c | 49 ++ drivers/net/ethernet/netronome/nfp/nfp_main.h | 3 + drivers/net/ethernet/netronome/nfp/nfp_net.h | 16 + .../ethernet/netronome/nfp/nfp_net_common.c | 3 + .../net/ethernet/netronome/nfp/nfp_net_ctrl.h | 3 + .../net/ethernet/netronome/nfp/nfp_net_main.c | 10 + .../ethernet/netronome/nfp/nfp_netvf_main.c | 264 ++++-- drivers/vdpa/Kconfig | 10 + drivers/vdpa/Makefile | 1 + drivers/vdpa/netronome/Makefile | 5 + drivers/vdpa/netronome/nfp_vdpa_main.c | 821 ++++++++++++++++++ 13 files changed, 1127 insertions(+), 60 deletions(-) create mode 100644 drivers/vdpa/netronome/Makefile create mode 100644 drivers/vdpa/netronome/nfp_vdpa_main.c -- 2.34.1