Skip to content

net: stmmac: FPE via ethtool + tc

Furong Xu linux-arm-kernel lkml netdev 10 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. v10 Latest7 patches 1 replyApplied 7/7
  2. v97 patches 4 repliesSuperseded
  3. v87 patches 5 repliesSuperseded
Earlier versions · 7
VersionPostedPatchesRepliesStatus
v77 patches6 repliesSuperseded
v67 patches1 replySuperseded
v57 patches2 repliesSuperseded
v47 patches10 repliesSuperseded
v37 patches4 repliesSuperseded
v27 patches1 replySuperseded
v15 patches9 repliesSuperseded

Changes in v10 from the cover letter

1. fixed a stacktrace caused by timer_shutdown_sync() on an uninitialized timer
2. ignore FPE_EVENT_RRSP events if we are not in the ETHTOOL_MM_VERIFY_STATUS_VERIFYING state

Patches in v10 All 7 applied

#Subject and filesSizeRepliesApplied
1/7net: stmmac: move stmmac_fpe_cfg to stmmac_priv datadrivers/net/ethernet/stmicro/stmmac/hwif.h drivers/net/ethernet/stmicro/stmmac/stmmac.h drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +2 more+44 -520 repliesApplied
2/7net: stmmac: drop stmmac_fpe_handshakedrivers/net/ethernet/stmicro/stmmac/stmmac.h drivers/net/ethernet/stmicro/stmmac/stmmac_main.c drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c+1 -310 repliesApplied
3/7net: stmmac: refactor FPE verification processdrivers/net/ethernet/stmicro/stmmac/dwmac4_core.c drivers/net/ethernet/stmicro/stmmac/dwmac5.c drivers/net/ethernet/stmicro/stmmac/dwmac5.h +5 more+166 -1700 repliesApplied
4/7net: stmmac: configure FPE via ethtool-mmdrivers/net/ethernet/stmicro/stmmac/dwmac4_core.c drivers/net/ethernet/stmicro/stmmac/dwmac5.c drivers/net/ethernet/stmicro/stmmac/dwmac5.h +2 more+126 -00 repliesApplied
5/7net: stmmac: support fp parameter of tc-mqpriodrivers/net/ethernet/stmicro/stmmac/dwmac4_core.c drivers/net/ethernet/stmicro/stmmac/dwmac5.c drivers/net/ethernet/stmicro/stmmac/dwmac5.h +4 more+172 -30 repliesApplied
6/7net: stmmac: support fp parameter of tc-tapriodrivers/net/ethernet/stmicro/stmmac/stmmac_tc.c+22 -170 repliesApplied
7/7net: stmmac: silence FPE kernel logsdrivers/net/ethernet/stmicro/stmmac/dwmac5.c drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c+4 -80 repliesApplied

Reviews trailers per patch

All 7 patches have a Reviewed-by or Acked-by.

PatchVladimir OlteanSerge Semin
1/7R-b R-b
2/7R-b
3/7R-b
4/7R-b
5/7R-b
6/7R-b
7/7R-b

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

Read the v10 thread

Cover letter [PATCH net-next v10 0/7] net: stmmac: FPE via ethtool + tc

Move the Frame Preemption(FPE) over to the new standard API which uses ethtool-mm/tc-mqprio/tc-taprio.

Changes in v10:
1. fixed a stacktrace caused by timer_shutdown_sync() on an uninitialized timer
2. ignore FPE_EVENT_RRSP events if we are not in the ETHTOOL_MM_VERIFY_STATUS_VERIFYING state

Changes in v9:
1. drop redundant netif_device_present() since ethnl_ops_begin() has its own netif_device_present() call
2. open-code some variables of struct ethtool_mm_state directly in struct stmmac_fpe_cfg
3. convert timer_delete_sync() to timer_shutdown_sync(), thus the timer will not be rearmed again
4. fixed variable declarations in the middle of the scope

Changes in v8:
1. use timer_delete_sync() instead of deprecated del_timer_sync()
2. check netif_running() to guarantee synchronization rules between mod_timer() and timer_delete_sync()
3. split up stmmac_tc_ops of dwmac4, dwmac4+ and dwxgmac to give user more descriptive error message
4. fix wrong indentation about switch-case
5. delete more unbalanced logs

Changes in v7:
1. code style fixes and clean up warnings reported by patchwork netdev checks, no functional change intended

Changes in v6:
1. new FPE verification process based on Vladimir Oltean's proposal
2. embed ethtool_mm_state into stmmac_fpe_cfg
3. convert some bit ops to u32_replace_bits
4. register name and function name update to be more descriptive
5. split up stmmac_tc_ops of dwmac4+ and dwxgmac, they have different implementations about mqprio
6. some code style fixes

Changes in v5:
1. fix typo in commit message
2. drop FPE capability check in tc-mqprio/tc-taprio

Changes in v4:
1. reorder FPE-related declarations and definitions into clean groups
2. move mm_lock to stmmac_fpe_cfg.lock
3. protect user configurations across NIC up/down
4. block stmmac_set_mm() when fpe_task is in progress to finish
5. convert to ethtool_dev_mm_supported() to check FPE capability in tc-mqprio/tc-taprio
6. silence FPE workqueue start/stop logs

Changes in v3:
1. avoid races among ISR, workqueue, link update and register configuration.
2. update FPE verification retry logic, so it retries and fails as expected.

Changes in v2:
1. refactor FPE verification process
2. suspend/resume and kselftest-ethtool_mm, all test cases passed
3. handle TC:TXQ remapping for DWMAC CORE4+

Furong Xu (7):
net: stmmac: move stmmac_fpe_cfg to stmmac_priv data
net: stmmac: drop stmmac_fpe_handshake
net: stmmac: refactor FPE verification process
net: stmmac: configure FPE via ethtool-mm
net: stmmac: support fp parameter of tc-mqprio
net: stmmac: support fp parameter of tc-taprio
net: stmmac: silence FPE kernel logs

 .../net/ethernet/stmicro/stmmac/dwmac4_core.c |  10 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac5.c  |  96 +++++-
 drivers/net/ethernet/stmicro/stmmac/dwmac5.h  |  12 +-
 .../ethernet/stmicro/stmmac/dwxgmac2_core.c   |   9 +-
 drivers/net/ethernet/stmicro/stmmac/hwif.c    |   6 +-
 drivers/net/ethernet/stmicro/stmmac/hwif.h    |  22 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac.h  |  35 ++-
 .../ethernet/stmicro/stmmac/stmmac_ethtool.c  |  96 ++++++
 .../net/ethernet/stmicro/stmmac/stmmac_main.c | 273 ++++++++----------
 .../net/ethernet/stmicro/stmmac/stmmac_tc.c   | 153 +++++++---
 include/linux/stmmac.h                        |  28 --
 11 files changed, 497 insertions(+), 243 deletions(-)
Signature · 1 line
2.34.1