[PATCH v4 net-next 0/6] Support some enhances features for the HIBMCGE driver

Jijie Shao
2025-02-28T12:01:44Z

In this patch set, we mainly implement some enhanced features.
It mainly includes the statistics, diagnosis, and ioctl to
improve fault locating efficiency,
abnormal irq and MAC link exception handling feature
to enhance driver robustness,
and rx checksum offload feature to improve performance
(tx checksum feature has been implemented).

---
ChangeLog:
v3 -> v4:
- Don't drop packets on csum validation failure, suggested by Jakub Kicinski.
- Fix "__umoddi3" undefined error, reported by Jakub Kicinski.
v3: https://lore.kernel.org/all/20250221115526.1082660-2-shaojijie@huawei.com/
v2 -> v3:
- Remove "in this module" from all patch titles,
suggested by Kalesh Anakkur Purayil, Simon Horman and Jakub Kicinski.
- Remove .ndo_fix_features() suggested by Jakub Kicinski.
v2: https://lore.kernel.org/all/20250218085829.3172126-1-shaojijie@huawei.com/
v1 -> v2:
- Remove self_test patch from this series, suggested by Andrew.
- Use phy_do_ioctl() to simplify ioctl code, suggested by Andrew.
- Replace phy_reset() with phy_stop() and phy_start(), suggested by Andrew.
- Recalculate the interval for the scheduled task to update statistics,
suggested by Andrew.
- Use !! to convert integer to boolean, suggested by Simon Horman.
v1: https://lore.kernel.org/all/20250213035529.2402283-1-shaojijie@huawei.com/
---

Jijie Shao (6):
net: hibmcge: Add support for dump statistics
net: hibmcge: Add support for checksum offload
net: hibmcge: Add support for abnormal irq handling feature
net: hibmcge: Add support for mac link exception handling feature
net: hibmcge: Add support for BMC diagnose feature
net: hibmcge: Add support for ioctl

.../net/ethernet/hisilicon/hibmcge/Makefile | 2 +-
.../ethernet/hisilicon/hibmcge/hbg_common.h | 122 ++++++
.../ethernet/hisilicon/hibmcge/hbg_debugfs.c | 7 +-
.../ethernet/hisilicon/hibmcge/hbg_diagnose.c | 348 ++++++++++++++++++
.../ethernet/hisilicon/hibmcge/hbg_diagnose.h | 11 +
.../net/ethernet/hisilicon/hibmcge/hbg_err.c | 58 +++
.../net/ethernet/hisilicon/hibmcge/hbg_err.h | 1 +
.../ethernet/hisilicon/hibmcge/hbg_ethtool.c | 298 +++++++++++++++
.../ethernet/hisilicon/hibmcge/hbg_ethtool.h | 5 +
.../net/ethernet/hisilicon/hibmcge/hbg_hw.c | 10 +
.../net/ethernet/hisilicon/hibmcge/hbg_irq.c | 55 +--
.../net/ethernet/hisilicon/hibmcge/hbg_main.c | 103 ++++++
.../net/ethernet/hisilicon/hibmcge/hbg_mdio.c | 22 ++
.../net/ethernet/hisilicon/hibmcge/hbg_mdio.h | 2 +
.../net/ethernet/hisilicon/hibmcge/hbg_reg.h | 105 ++++++
.../net/ethernet/hisilicon/hibmcge/hbg_txrx.c | 181 ++++++++-
16 files changed, 1304 insertions(+), 26 deletions(-)
create mode 100644 drivers/net/ethernet/hisilicon/hibmcge/hbg_diagnose.c
create mode 100644 drivers/net/ethernet/hisilicon/hibmcge/hbg_diagnose.h

--
2.33.0