[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1725597121.git.0x1207@gmail.com>
Date: Fri, 6 Sep 2024 12:55:55 +0800
From: Furong Xu <0x1207@...il.com>
To: Vladimir Oltean <olteanv@...il.com>,
Serge Semin <fancer.lancer@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Alexandre Torgue <alexandre.torgue@...s.st.com>,
Jose Abreu <joabreu@...opsys.com>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Joao Pinto <jpinto@...opsys.com>
Cc: netdev@...r.kernel.org,
linux-stm32@...md-mailman.stormreply.com,
linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org,
rmk+kernel@...linux.org.uk,
linux@...linux.org.uk,
xfr@...look.com,
Furong Xu <0x1207@...il.com>
Subject: [PATCH net-next v9 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 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 | 269 ++++++++----------
.../net/ethernet/stmicro/stmmac/stmmac_tc.c | 153 +++++++---
include/linux/stmmac.h | 28 --
11 files changed, 494 insertions(+), 242 deletions(-)
--
2.34.1
Powered by blists - more mailing lists