Subject: [PATCH v3 00/16] stmmac: Add Loongson platform support

From: Feiyang Chen <[email-masked]>
Date: Thu, 3 Aug 2023 19:28:02 +0800

Extend stmmac functions and macros for Loongson DWMAC.
Add LS7A support for dwmac_loongson.

v2 -> v3:
* Avoid macros accessing variables that are not passed to them.
* Implement a new struct to support 64-bit DMA.
* Use feature names rather than 'lgmac' and 'dwmac_is_loongson'.

Feiyang Chen (16):
  net: stmmac: Pass stmmac_priv and chan in some callbacks
  net: stmmac: dwmac1000: Allow platforms to choose some register
    offsets
  net: stmmac: dwmac1000: Add multi-channel support
  net: stmmac: dwmac1000: Add 64-bit DMA support
  net: stmmac: dwmac1000: Add Loongson register definitions
  net: stmmac: dwmac1000: Fix channel numbers for Loongson
  net: stmmac: dwmac1000: Add multiple retries for DMA reset
  net: stmmac: dwmac1000: Allow platforms to set control value
  net: stmmac: Allow platforms to set irq_flags
  net: stmmac: Add Loongson HWIF entry
  net: stmmac: dwmac-loongson: Refactor code for loongson_dwmac_probe()
  net: stmmac: dwmac-loongson: Add LS7A support
  net: stmmac: dwmac-loongson: Add 64-bit DMA and multi-vector support
  net: stmmac: dwmac-loongson: Disable flow control for GMAC
  net: stmmac: dwmac-loongson: Use single queue for GMAC
  net: stmmac: dwmac-loongson: Add GNET support

 drivers/net/ethernet/stmicro/stmmac/Makefile  |   2 +-
 .../net/ethernet/stmicro/stmmac/chain_mode.c  |  29 +-
 drivers/net/ethernet/stmicro/stmmac/common.h  |   4 +
 drivers/net/ethernet/stmicro/stmmac/descs.h   |   7 +
 .../net/ethernet/stmicro/stmmac/descs_com.h   |  47 ++-
 .../ethernet/stmicro/stmmac/dwmac-loongson.c  | 292 ++++++++++++++----
 .../net/ethernet/stmicro/stmmac/dwmac-sun8i.c |  22 +-
 .../ethernet/stmicro/stmmac/dwmac1000_core.c  |  24 +-
 .../ethernet/stmicro/stmmac/dwmac1000_dma.c   | 135 ++++++--
 .../ethernet/stmicro/stmmac/dwmac100_core.c   |  12 +-
 .../ethernet/stmicro/stmmac/dwmac100_dma.c    |  24 +-
 .../net/ethernet/stmicro/stmmac/dwmac4_core.c |  11 +-
 .../ethernet/stmicro/stmmac/dwmac4_descs.c    |  17 +-
 .../net/ethernet/stmicro/stmmac/dwmac4_dma.c  |   8 +-
 .../net/ethernet/stmicro/stmmac/dwmac4_dma.h  |   2 +-
 .../net/ethernet/stmicro/stmmac/dwmac4_lib.c  |   2 +-
 .../net/ethernet/stmicro/stmmac/dwmac_dma.h   |  62 +---
 .../net/ethernet/stmicro/stmmac/dwmac_lib.c   | 244 +++++++++++++--
 .../ethernet/stmicro/stmmac/dwxgmac2_core.c   |  11 +-
 .../ethernet/stmicro/stmmac/dwxgmac2_descs.c  |  17 +-
 .../ethernet/stmicro/stmmac/dwxgmac2_dma.c    |  10 +-
 .../net/ethernet/stmicro/stmmac/enh_desc.c    |  38 ++-
 drivers/net/ethernet/stmicro/stmmac/hwif.c    |  44 ++-
 drivers/net/ethernet/stmicro/stmmac/hwif.h    |  71 +++--
 .../net/ethernet/stmicro/stmmac/norm_desc.c   |  17 +-
 .../net/ethernet/stmicro/stmmac/ring_mode64.c | 159 ++++++++++
 .../ethernet/stmicro/stmmac/stmmac_ethtool.c  |   6 +
 .../net/ethernet/stmicro/stmmac/stmmac_main.c |  34 +-
 include/linux/stmmac.h                        |  70 +++++
 29 files changed, 1117 insertions(+), 304 deletions(-)
 create mode 100644 drivers/net/ethernet/stmicro/stmmac/ring_mode64.c

-- 
2.39.3