Add debug dump implementation to the NFP driver. This makes use of
existing ethtool infrastructure.  ethtool -W is used to select the dump
level and ethtool -w is used to dump NFP state.

The existing behaviour of dump level 0, dumping the arm.diag resource, is
preserved. Dump levels greater than 0 are implemented by this patchset and
optionally supported by firmware providing a _abi_dump_spec rtsym. This
rtsym provides a specification, in TLV format, of the information to be
dumped from the NFP at each supported dump level.

Dumps are also structured using a TLVs. They consist a prolog and the data
described int he corresponding dump.

Carl Heymann (10):
  nfp: debug dump ethtool ops
  nfp: load debug dump spec
  nfp: dump prolog
  nfp: dumpspec TLV traversal
  nfp: dump rtsyms
  nfp: dump all hwinfo
  nfp: dump single hwinfo field by key
  nfp: dump firmware name
  nfp: dump CPP, XPB and direct ME CSRs
  nfp: dump indirect ME CSRs

 drivers/net/ethernet/netronome/nfp/Makefile        |   1 +
 drivers/net/ethernet/netronome/nfp/nfp_asm.h       |  10 +
 drivers/net/ethernet/netronome/nfp/nfp_main.c      |   6 +
 drivers/net/ethernet/netronome/nfp/nfp_main.h      |  29 +
 .../net/ethernet/netronome/nfp/nfp_net_debugdump.c | 787 +++++++++++++++++++++
 .../net/ethernet/netronome/nfp/nfp_net_ethtool.c   |  55 +-
 drivers/net/ethernet/netronome/nfp/nfpcore/nfp.h   |   2 +
 .../ethernet/netronome/nfp/nfpcore/nfp_hwinfo.c    |  10 +
 8 files changed, 892 insertions(+), 8 deletions(-)
 create mode 100644 drivers/net/ethernet/netronome/nfp/nfp_net_debugdump.c

-- 
2.11.0

Reply via email to