netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH iwl-next v4 0/9] igc: Add support for Frame Preemption feature in IGC
@ 2025-02-10  7:01 Faizal Rahim
  2025-02-10  7:01 ` [PATCH iwl-next v4 1/9] net: ethtool: mm: extract stmmac verification logic into common library Faizal Rahim
                   ` (9 more replies)
  0 siblings, 10 replies; 35+ messages in thread
From: Faizal Rahim @ 2025-02-10  7:01 UTC (permalink / raw)
  To: Tony Nguyen, Przemek Kitszel, Andrew Lunn, David S . Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Maxime Coquelin,
	Alexandre Torgue, Simon Horman, Russell King, Alexei Starovoitov,
	Daniel Borkmann, Jesper Dangaard Brouer, John Fastabend,
	Furong Xu, Russell King, Vladimir Oltean, Serge Semin,
	Xiaolei Wang, Suraj Jaiswal, Kory Maincent, Gal Pressman,
	Jesper Nilsson, Andrew Halaney, Choong Yong Liang, Faizal Rahim,
	Kunihiko Hayashi, Vinicius Costa Gomes, intel-wired-lan, netdev,
	linux-kernel, linux-stm32, linux-arm-kernel, bpf

Introduces support for the FPE feature in the IGC driver.

The patches aligns with the upstream FPE API:
https://patchwork.kernel.org/project/netdevbpf/cover/20230220122343.1156614-1-vladimir.oltean@nxp.com/
https://patchwork.kernel.org/project/netdevbpf/cover/20230119122705.73054-1-vladimir.oltean@nxp.com/

It builds upon earlier work:
https://patchwork.kernel.org/project/netdevbpf/cover/20220520011538.1098888-1-vinicius.gomes@intel.com/

The patch series adds the following functionalities to the IGC driver:
a) Configure FPE using `ethtool --set-mm`.
b) Display FPE settings via `ethtool --show-mm`.
c) View FPE statistics using `ethtool --include-statistics --show-mm'.
e) Enable preemptible/express queue with `fp`:
   tc qdisc add ... root taprio \
   fp E E P P

Change Log:
v3 -> v4:
- Fix compilation warnings introduced by this patch series

v2 -> v3:
- Implement configure_tx() mmsv callback (Vladimir)
- Use static_branch_inc() and static_branch_dec() (Vladimir)
- Add adapter->fpe.mmsv.pmac_enabled as extra check (Vladimir)
- Remove unnecessary error check in igc_fpe_init_tx_descriptor() (Vladimir)
- Additional places to use FIELD_PREP() instead of manual bit manipulation (Vladimir)
- IGC_TXD_POPTS_SMD_V and IGC_TXD_POPTS_SMD_R type change to enum (Vladimir)
- Remove unnecessary netif_running() check in igc_fpe_xmit_frame (Vladimir)
- Rate limit print in igc_fpe_send_mpacket (Vladimir)

v1 -> v2:
- Extract the stmmac verification logic into a common library (Vladimir)
- igc to use common library for verification (Vladimir)
- Fix syntax for kernel-doc to use "Return:" (Vladimir)
- Use FIELD_GET instead of manual bit masking (Vladimir)
- Don't assign 0 to statistics counter in igc_ethtool_get_mm_stats() (Vladimir)
- Use pmac-enabled as a condition to allow MAC address value 0 (Vladimir)
- Define macro register value in increasing value order (Vladimir)
- Fix tx-min-frag-size handling for igc (Vladimir)
- Handle link state changes with verification in igc (Vladimir)
- Add static key for fast path code (Vladimir)
- rx_min_frag_size get from constant (Vladimir)

v1: https://patchwork.kernel.org/project/netdevbpf/cover/20241216064720.931522-1-faizal.abdul.rahim@linux.intel.com/
v2: https://patchwork.kernel.org/project/netdevbpf/cover/20250205100524.1138523-1-faizal.abdul.rahim@linux.intel.com/
v3: https://patchwork.kernel.org/project/netdevbpf/cover/20250207165649.2245320-1-faizal.abdul.rahim@linux.intel.com/

Faizal Rahim (8):
  igc: Rename xdp_get_tx_ring() for non-xdp usage
  igc: Optimize the TX packet buffer utilization
  igc: Set the RX packet buffer size for TSN mode
  igc: Add support for frame preemption verification
  igc: Add support to set tx-min-frag-size
  igc: Add support for preemptible traffic class in taprio
  igc: Add support to get MAC Merge data via ethtool
  igc: Add support to get frame preemption statistics via ethtool

Vladimir Oltean (1):
  net: ethtool: mm: extract stmmac verification logic into common
    library

 drivers/net/ethernet/intel/igc/igc.h          |  18 +-
 drivers/net/ethernet/intel/igc/igc_base.h     |   1 +
 drivers/net/ethernet/intel/igc/igc_defines.h  |  16 +-
 drivers/net/ethernet/intel/igc/igc_ethtool.c  |  76 ++++++
 drivers/net/ethernet/intel/igc/igc_main.c     | 101 +++++++-
 drivers/net/ethernet/intel/igc/igc_regs.h     |  16 ++
 drivers/net/ethernet/intel/igc/igc_tsn.c      | 219 ++++++++++++++++-
 drivers/net/ethernet/intel/igc/igc_tsn.h      |  34 +++
 drivers/net/ethernet/stmicro/stmmac/stmmac.h  |  16 +-
 .../ethernet/stmicro/stmmac/stmmac_ethtool.c  |  41 +---
 .../net/ethernet/stmicro/stmmac/stmmac_fpe.c  | 174 +++-----------
 .../net/ethernet/stmicro/stmmac/stmmac_fpe.h  |   5 -
 .../net/ethernet/stmicro/stmmac/stmmac_main.c |   8 +-
 include/linux/ethtool.h                       |  61 +++++
 net/ethtool/mm.c                              | 224 +++++++++++++++++-
 15 files changed, 793 insertions(+), 217 deletions(-)

--
2.34.1


^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2025-02-20  3:09 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-10  7:01 [PATCH iwl-next v4 0/9] igc: Add support for Frame Preemption feature in IGC Faizal Rahim
2025-02-10  7:01 ` [PATCH iwl-next v4 1/9] net: ethtool: mm: extract stmmac verification logic into common library Faizal Rahim
2025-02-12 23:09   ` Vladimir Oltean
2025-02-10  7:02 ` [PATCH iwl-next v4 2/9] igc: Rename xdp_get_tx_ring() for non-xdp usage Faizal Rahim
2025-02-10  7:02 ` [PATCH iwl-next v4 3/9] igc: Optimize the TX packet buffer utilization Faizal Rahim
2025-02-10  7:02 ` [PATCH iwl-next v4 4/9] igc: Set the RX packet buffer size for TSN mode Faizal Rahim
2025-02-10  7:02 ` [PATCH iwl-next v4 5/9] igc: Add support for frame preemption verification Faizal Rahim
2025-02-17 11:31   ` Simon Horman
2025-02-19  1:48     ` Abdul Rahim, Faizal
2025-02-10  7:02 ` [PATCH iwl-next v4 6/9] igc: Add support to set tx-min-frag-size Faizal Rahim
2025-02-10  7:02 ` [PATCH iwl-next v4 7/9] igc: Add support for preemptible traffic class in taprio Faizal Rahim
2025-02-10  7:02 ` [PATCH iwl-next v4 8/9] igc: Add support to get MAC Merge data via ethtool Faizal Rahim
2025-02-10  7:02 ` [PATCH iwl-next v4 9/9] igc: Add support to get frame preemption statistics " Faizal Rahim
2025-02-12 21:54   ` Vladimir Oltean
2025-02-13  5:42     ` Abdul Rahim, Faizal
2025-02-12 22:01 ` [PATCH iwl-next v4 0/9] igc: Add support for Frame Preemption feature in IGC Vladimir Oltean
2025-02-13  6:12   ` Abdul Rahim, Faizal
2025-02-13  9:00     ` Vladimir Oltean
2025-02-13 11:06       ` Vladimir Oltean
2025-02-13 12:01     ` Kurt Kanzenbach
2025-02-13 12:54       ` Abdul Rahim, Faizal
2025-02-13 13:00         ` Vladimir Oltean
2025-02-13 13:54           ` Abdul Rahim, Faizal
2025-02-13 14:12             ` Kurt Kanzenbach
2025-02-13 18:46               ` Vladimir Oltean
2025-02-13 19:12                 ` Kurt Kanzenbach
2025-02-14  4:20                   ` Abdul Rahim, Faizal
2025-02-14  4:50                     ` Abdul Rahim, Faizal
2025-02-14  8:56                     ` Kurt Kanzenbach
2025-02-14  9:43                       ` Abdul Rahim, Faizal
2025-02-14 10:22                         ` Vladimir Oltean
2025-02-14 11:20                           ` Abdul Rahim, Faizal
2025-02-14 11:38                             ` Vladimir Oltean
2025-02-13  8:59   ` [Intel-wired-lan] " Loktionov, Aleksandr
2025-02-20  3:08     ` Abdul Rahim, Faizal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).