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 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 (10):
net: stmmac: correct RX COE parsing for xgmac
net: stmmac: xgmac: add more feature parsing from hw cap
net: stmmac: mdio: enlarge the max XGMAC C22 ADDR to 31
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 | 37 +++++++++++++
.../net/ethernet/stmicro/stmmac/dwmac-intel.c | 4 +-
.../net/ethernet/stmicro/stmmac/dwmac4_dma.c | 2 +-
.../net/ethernet/stmicro/stmmac/dwxgmac2.h | 5 ++
.../ethernet/stmicro/stmmac/dwxgmac2_core.c | 5 +-
.../ethernet/stmicro/stmmac/dwxgmac2_dma.c | 37 ++++++++-----
.../net/ethernet/stmicro/stmmac/stmmac_main.c | 54 ++++++++++---------
.../net/ethernet/stmicro/stmmac/stmmac_mdio.c | 2 +-
.../ethernet/stmicro/stmmac/stmmac_platform.c | 35 ++++++++++++
include/linux/stmmac.h | 10 ++--
10 files changed, 140 insertions(+), 51 deletions(-)
--
2.40.1
The IP can support up to 31 xgmac c22 addresses now.
Signed-off-by: Jisheng Zhang <[email protected]>
---
drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
index 3db1cb0fd160..e6d8e34fafef 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
@@ -40,7 +40,7 @@
#define MII_XGMAC_WRITE (1 << MII_XGMAC_CMD_SHIFT)
#define MII_XGMAC_READ (3 << MII_XGMAC_CMD_SHIFT)
#define MII_XGMAC_BUSY BIT(22)
-#define MII_XGMAC_MAX_C22ADDR 3
+#define MII_XGMAC_MAX_C22ADDR 31
#define MII_XGMAC_C22P_MASK GENMASK(MII_XGMAC_MAX_C22ADDR, 0)
#define MII_XGMAC_PA_SHIFT 16
#define MII_XGMAC_DA_SHIFT 21
--
2.40.1