This series supports NCSI debugging infrastructure by adding several ethtool commands and one debugfs file. It was inspired by the reported issues: No available package and channel are probed successfully. Obviously, we don't have a debugging infrastructure for NCSI stack yet.
The first 3 patches, fixing some issues, aren't relevant to the subject. I included them because I expect they can be merged beofre the code for debugging infrastructure. PATCH[4,5,6,7] adds ethtool commands to dump NCSI topology, channel information, HW statistics and SW statistics. PATCH[8] adds debugfs entry /sys/kernel/debug/ ncsi/eth0/pkt, which sends NCSI command packet on write. The NCSI response packet are dumped on read. PATCH[9,10] fix two issues found by the debugging functionality. Changelog ========= v4: * Replace debugfs entries with ethtool commands (Dave) * Add ethtool commands to dump NCSI topology, channel info and HW statistics (Gavin) v3: * Use pr_debug() instead of pr_warn() upon failure to create debugfs directory or file (Joe Perches) * Use relative debugfs path/file names in debug messages in ncsi-debug.c (Joe Perches) * Use const specifier for @ncsi_pkt_handlers and @ranges (Joe Perches) * Eliminate CONFIG_NET_NCSI_DEBUG ifdef's in *.c (Jakub Kicinski) v2: * Use debugfs instead of procfs (Joe Perches) Gavin Shan (10): net/ncsi: Disable HWA mode when no channels are found net/ncsi: Properly track channel monitor timer state net/ncsi: Enforce failover on link monitor timeout net/ncsi: Ethtool operation to get NCSI topology net/ncsi: Ethtool operation to get NCSI channel info net/ncsi: Ethtool operation to get NCSI hw statistics net/ncsi: Ethtool operation to get NCSI sw statistics net/ncsi: Support NCSI packet generation net/ncsi: No error report on DP response to non-existing package net/ncsi: Fix length of GVI response packet include/linux/ethtool.h | 8 + include/uapi/linux/ethtool.h | 312 ++++++++++++++++++ net/core/ethtool.c | 120 +++++++ net/ncsi/Kconfig | 9 + net/ncsi/Makefile | 4 +- net/ncsi/internal.h | 71 ++++ net/ncsi/ncsi-aen.c | 14 +- net/ncsi/ncsi-cmd.c | 13 +- net/ncsi/ncsi-debug.c | 759 +++++++++++++++++++++++++++++++++++++++++++ net/ncsi/ncsi-ethtool.c | 321 ++++++++++++++++++ net/ncsi/ncsi-manage.c | 56 +++- net/ncsi/ncsi-rsp.c | 34 +- 12 files changed, 1708 insertions(+), 13 deletions(-) create mode 100644 net/ncsi/ncsi-debug.c create mode 100644 net/ncsi/ncsi-ethtool.c -- 2.7.4