Hi! This series starts with an improvement to the usability of the device memory accessors (CPP transactions). Next few patches are devoted to fixing the devlink locking. After recent patches for mlxsw the locking scheme of devlink ops has to be reworked. Following patches improve NFP code dealing with "representors", and expands the error message printed when driver has no support for loaded FW.
Second part of the series is focused on vNIC capabilities read from vNIC control memory (often referred to as "BAR0" for historical reasons). TLV capability format is established and immediately made use of. The next patches rework parsing of features for control vNIC which allows apps to mask out features they don't want enabled. Jakub Kicinski (12): nfp: core: make scalar CPP helpers fail on short accesses nfp: release global resources only on the remove path nfp: register devlink after app is created nfp: add nfp_reprs_get_locked() helper nfp: protect each repr pointer individually with RCU nfp: improve app not found message nfp: add TLV capabilities to the BAR nfp: read ME frequency from vNIC ctrl memory nfp: read mailbox address from TLV caps nfp: split reading capabilities out of nfp_net_init() nfp: allow apps to disable ctrl vNIC capabilities nfp: bpf: disable all ctrl vNIC capabilities drivers/net/ethernet/netronome/nfp/Makefile | 1 + drivers/net/ethernet/netronome/nfp/bpf/main.c | 2 + drivers/net/ethernet/netronome/nfp/flower/main.c | 47 ++++--- drivers/net/ethernet/netronome/nfp/nfp_app.c | 14 ++- drivers/net/ethernet/netronome/nfp/nfp_app.h | 6 + drivers/net/ethernet/netronome/nfp/nfp_devlink.c | 12 +- drivers/net/ethernet/netronome/nfp/nfp_main.c | 17 +-- drivers/net/ethernet/netronome/nfp/nfp_net.h | 3 + .../net/ethernet/netronome/nfp/nfp_net_common.c | 62 +++++++--- drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.c | 135 +++++++++++++++++++++ drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h | 99 +++++++++++++-- .../net/ethernet/netronome/nfp/nfp_net_debugdump.c | 19 ++- drivers/net/ethernet/netronome/nfp/nfp_net_main.c | 76 ++++++------ drivers/net/ethernet/netronome/nfp/nfp_net_repr.c | 73 +++++------ drivers/net/ethernet/netronome/nfp/nfp_net_repr.h | 15 ++- .../net/ethernet/netronome/nfp/nfp_netvf_main.c | 6 - .../ethernet/netronome/nfp/nfpcore/nfp_cppcore.c | 42 ++++--- .../ethernet/netronome/nfp/nfpcore/nfp_cpplib.c | 38 +++--- .../net/ethernet/netronome/nfp/nfpcore/nfp_rtsym.c | 4 - 19 files changed, 463 insertions(+), 208 deletions(-) create mode 100644 drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.c -- 2.15.1