Skip to content

net: stmmac: Refactor FPE as a separate module

Furong Xu linux-arm-kernel lkml netdev 8 versions – Applied

Status from this message: This series was applied to netdev/net-next.git (main)

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v8 Latest8 patches 2 repliesApplied 8/8
  2. v78 patches 3 repliesSuperseded
  3. v66 patches 3 repliesSuperseded
Earlier versions · 5
VersionPostedPatchesRepliesStatus
v56 patches2 repliesSuperseded
v46 patches0 repliesSuperseded
v36 patches2 repliesSuperseded
v28 patches5 repliesSuperseded
v15 patches12 repliesSuperseded

Changes in v8 from the cover letter

1. Reorder functions in their natural calling order
2. Unexport stmmac_fpe_configure() and make it static
3. Swap 3rd patch and 4th patch in V7

Patches in v8 All 8 applied

#Subject and filesSizeRepliesApplied
1/8net: stmmac: Introduce separate files for FPE implementationdrivers/net/ethernet/stmicro/stmmac/Makefile drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c drivers/net/ethernet/stmicro/stmmac/dwmac5.c +8 more+405 -3630 repliesApplied
2/8net: stmmac: Rework macro definitions for gmac4 and xgmacdrivers/net/ethernet/stmicro/stmmac/stmmac_fpe.c+39 -380 repliesApplied
3/8net: stmmac: Introduce stmmac_fpe_supported()drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c drivers/net/ethernet/stmicro/stmmac/stmmac_fpe.c drivers/net/ethernet/stmicro/stmmac/stmmac_fpe.h +1 more+12 -60 repliesApplied
4/8net: stmmac: Refactor FPE functions to generic versiondrivers/net/ethernet/stmicro/stmmac/dwmac4.h drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h +8 more+105 -1370 repliesApplied
5/8net: stmmac: Get the TC number of net_device by netdev_get_num_tc()drivers/net/ethernet/stmicro/stmmac/stmmac_fpe.c+1 -10 repliesApplied
6/8net: stmmac: xgmac: Rename XGMAC_RQ to XGMAC_FPRQdrivers/net/ethernet/stmicro/stmmac/dwxgmac2.h drivers/net/ethernet/stmicro/stmmac/stmmac_fpe.c+2 -20 repliesApplied
7/8net: stmmac: xgmac: Complete FPE supportdrivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c drivers/net/ethernet/stmicro/stmmac/stmmac_fpe.c drivers/net/ethernet/stmicro/stmmac/stmmac_fpe.h+47 -00 repliesApplied
8/8net: stmmac: xgmac: Enable FPE for tc-mqprio/tc-tapriodrivers/net/ethernet/stmicro/stmmac/stmmac_tc.c+2 -20 repliesApplied

Reviews trailers per patch

3 of 8 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchSimon HormanVladimir Oltean
SeriesR-b
1/8R-b R-b
2/8R-b
3/8
4/8
5/8
6/8R-b
7/8
8/8

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v8 thread

Cover letter [PATCH net-next v8 0/8] net: stmmac: Refactor FPE as a separate module

Refactor FPE implementation by moving common code for DWMAC4 and DWXGMAC into a separate FPE module.

FPE implementation for DWMAC4 and DWXGMAC differs only for:
1) Offset address of MAC_FPE_CTRL_STS and MTL_FPE_CTRL_STS
2) FPRQ(Frame Preemption Residue Queue) field in MAC_RxQ_Ctrl1
3) Bit offset of Frame Preemption Interrupt Enable

Tested on DWMAC CORE 5.20a and DWXGMAC CORE 3.20a

Changes in v8:
1. Reorder functions in their natural calling order
2. Unexport stmmac_fpe_configure() and make it static
3. Swap 3rd patch and 4th patch in V7

V7:

    https://patchwork.kernel.org/project/netdevbpf/list/?series=905021&state=%2A&archive=both

Changes in v7:
1. Split stmmac_fpe_supported() changes into a separate patch
2. Unexport stmmac_fpe_send_mpacket() and make it static
3. Convert to netdev_get_num_tc()
4. Commit message update for the 3rd patch

V6:

    https://patchwork.kernel.org/project/netdevbpf/list/?series=904502&state=%2A&archive=both

Changes in v6:
1. Introduce stmmac_fpe_supported() to improve compatibility
2. Remove redundant fpesel check
3. Remove redundant parameters of stmmac_fpe_configure()

V5:

    https://patchwork.kernel.org/project/netdevbpf/list/?series=903628&state=%2A&archive=both

Changes in v5:
1. Fix build errors reported by kernel test robot:
https://lore.kernel.org/oe-kbuild-all/[email protected]/

Changes in v4:
1. Update FPE IRQ handling
2. Check fpesel bit and stmmac_fpe_reg pointer to guarantee that driver does not crash on a certain platform that FPE is to be implemented

Changes in v3:
1. Drop stmmac_fpe_ops and refactor FPE functions to generic version to avoid function pointers
2. Drop the _SHIFT macro definitions

Changes in v2:
1. Split patches to easily review
2. Use struct as function param to keep param list short
3. Typo fixes in commit message and title

Furong Xu (8):
net: stmmac: Introduce separate files for FPE implementation
net: stmmac: Rework macro definitions for gmac4 and xgmac
net: stmmac: Introduce stmmac_fpe_supported()
net: stmmac: Refactor FPE functions to generic version
net: stmmac: Get the TC number of net_device by netdev_get_num_tc()
net: stmmac: xgmac: Rename XGMAC_RQ to XGMAC_FPRQ
net: stmmac: xgmac: Complete FPE support
net: stmmac: xgmac: Enable FPE for tc-mqprio/tc-taprio

 drivers/net/ethernet/stmicro/stmmac/Makefile  |   2 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac4.h  |   1 -
 .../net/ethernet/stmicro/stmmac/dwmac4_core.c |  11 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac5.c  | 150 -------
 drivers/net/ethernet/stmicro/stmmac/dwmac5.h  |  26 --
 .../net/ethernet/stmicro/stmmac/dwxgmac2.h    |   6 +-
 .../ethernet/stmicro/stmmac/dwxgmac2_core.c   |  31 +-
 drivers/net/ethernet/stmicro/stmmac/hwif.c    |   7 +
 drivers/net/ethernet/stmicro/stmmac/hwif.h    |  20 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac.h  |  11 +-
 .../ethernet/stmicro/stmmac/stmmac_ethtool.c  |   8 +-
 .../net/ethernet/stmicro/stmmac/stmmac_fpe.c  | 413 ++++++++++++++++++
 .../net/ethernet/stmicro/stmmac/stmmac_fpe.h  |  33 ++
 .../net/ethernet/stmicro/stmmac/stmmac_main.c | 165 +------
 .../net/ethernet/stmicro/stmmac/stmmac_tc.c   |   4 +-
 15 files changed, 476 insertions(+), 412 deletions(-)
 create mode 100644 drivers/net/ethernet/stmicro/stmmac/stmmac_fpe.c
 create mode 100644 drivers/net/ethernet/stmicro/stmmac/stmmac_fpe.h
Signature · 1 line
2.34.1