Hi! This series broadly speaking adds support for NFP5000 and related products.
First we add support for loading FW from flash. We need to allow for the management processor to provide extended log messages when FW is loaded. This is needed when FW selection policy is to compare the FW on the disk and in the flash, and load the newer. User should be told what FW was selected. We use this opportunity to add extended errors for normal FW loading as well. Next we add support for requesting HW information from the management processor. Up until now the driver read the HWinfo as it appears in card memory, but there can be cases when management processor has additional information or generates the entries dynamically so occasionally we will have to consult it. We use this to look up MAC addresses for PCIe netdevs. Next the actual patch with NFP5000 support and a small dose of refactoring of PCIe init. The remaining patches add support for reading RTsymbol types we didn't need before. Ones explicitly placed in external memory unit's cache and absolute ones. This part begins with a patch moving the logic which figures out the correct bit offsets to device probe, to avoid redoing the calculation for each access. Second patch adds error messages for easier troubleshooting. Next patch adds helpers which will take care of address conversions to reach into EMU cache. Subsequently users are migrated from the raw CPP API to the new RTsym helpers. Finally we add support for reading absolute symbols. Jakub Kicinski (15): nfp: encapsulate NSP command arguments into structs nfp: attempt FW load from flash nfp: interpret extended FW load result codes nfp: add support for indirect HWinfo lookup nfp: abm: look up MAC addresses via management FW nfp: add support for NFP5000 nfp: refactor the per-chip PCIe config nfp: save the MU locality field offset nfp: add basic errors messages to target logic nfp: add RTsym access helpers nfp: pass cpp_id to nfp_cpp_map_area() nfp: convert existing RTsym helpers to full target decoding nfp: convert all RTsym users to use new read/write helpers nfp: support access to absolute RTsyms nfp: make RTsym users handle absolute symbols correctly drivers/net/ethernet/netronome/nfp/abm/ctrl.c | 32 +- drivers/net/ethernet/netronome/nfp/abm/main.c | 34 +- drivers/net/ethernet/netronome/nfp/nfp_main.c | 44 +-- .../netronome/nfp/nfp_net_debugdump.c | 50 +-- .../net/ethernet/netronome/nfp/nfp_net_main.c | 8 +- .../netronome/nfp/nfpcore/nfp6000_pcie.c | 50 ++- .../ethernet/netronome/nfp/nfpcore/nfp_cpp.h | 12 +- .../netronome/nfp/nfpcore/nfp_cppcore.c | 36 ++ .../netronome/nfp/nfpcore/nfp_cpplib.c | 12 +- .../ethernet/netronome/nfp/nfpcore/nfp_nffw.c | 32 +- .../ethernet/netronome/nfp/nfpcore/nfp_nffw.h | 38 +- .../ethernet/netronome/nfp/nfpcore/nfp_nsp.c | 330 ++++++++++++++---- .../ethernet/netronome/nfp/nfpcore/nfp_nsp.h | 12 + .../netronome/nfp/nfpcore/nfp_rtsym.c | 216 +++++++++++- .../netronome/nfp/nfpcore/nfp_target.c | 12 +- 15 files changed, 682 insertions(+), 236 deletions(-) -- 2.17.1