[PATCH net-next v4 0/9] net: stmmac: add new features to xgmac

From: Jisheng Zhang
Date: Wed Aug 16 2023 - 11:42:11 EST


This series add below new features to xgmac:

correct RX COE parsing
add more feature parsing from hw cap
enlarge C22 ADDR and rx/tx channels
support parse safety ce/ue irq from DT
support per channel irq

Since v3:
- collect Acked-by tag
- remove patch which enlarges the max XGMAC C22 ADDR to 31 since it's
merged
- s/stmmac_request_irq_multi/stmmac_request_irq_multi_channel
- update the dt-binding to refelct the optional per-channel irq:
- use enum
- add additionalItems and maxItems to fix the "interupt-names ..
is too long"

Since v2:
- check per channel irq by (res->rx_irq[0] > 0 && res->tx_irq[0] > 0)
rather than (res->rx_irq[0] && res->tx_irq[0])
- bypass if (irq <= 0) when request rx/tx irq

Since v1:
- remove "_irq" suffix from safety irqs dt binding
- remove "snps,per-channel-interrupt" dt binding, check the channel irq
instead.
- more renaming about "msi" to reflect per channel irq isn't MSI
specific


Jisheng Zhang (9):
net: stmmac: correct RX COE parsing for xgmac
net: stmmac: xgmac: add more feature parsing from hw cap
net: stmmac: enlarge max rx/tx queues and channels to 16
net: stmmac: reflect multi irqs for tx/rx channels and mac and safety
net: stmmac: xgmac: support per-channel irq
dt-bindings: net: snps,dwmac: add safety irq support
net: stmmac: platform: support parsing safety irqs from DT
dt-bindings: net: snps,dwmac: add per channel irq support
net: stmmac: platform: support parsing per channel irq from DT

.../devicetree/bindings/net/snps,dwmac.yaml | 77 ++++++++++++++++++-
.../net/ethernet/stmicro/stmmac/dwmac-intel.c | 4 +-
.../net/ethernet/stmicro/stmmac/dwmac4_dma.c | 2 +-
.../net/ethernet/stmicro/stmmac/dwxgmac2.h | 2 +
.../ethernet/stmicro/stmmac/dwxgmac2_core.c | 5 +-
.../ethernet/stmicro/stmmac/dwxgmac2_dma.c | 34 ++++----
.../net/ethernet/stmicro/stmmac/stmmac_main.c | 56 +++++++-------
.../ethernet/stmicro/stmmac/stmmac_platform.c | 35 +++++++++
include/linux/stmmac.h | 10 +--
9 files changed, 172 insertions(+), 53 deletions(-)

--
2.40.1