|
|
Log in / Subscribe / Register

Add Frame Preemption MAC Merge support for ICSSG

From:  Meghana Malladi <m-malladi-AT-ti.com>
To:  <liuhangbin-AT-gmail.com>, <h-mittal1-AT-ti.com>, <haokexin-AT-gmail.com>, <vadim.fedorenko-AT-linux.dev>, <devnexen-AT-gmail.com>, <horms-AT-kernel.org>, <jacob.e.keller-AT-intel.com>, <m-malladi-AT-ti.com>, <arnd-AT-arndb.de>, <afd-AT-ti.com>, <basharath-AT-couthit.com>, <parvathi-AT-couthit.com>, <vladimir.oltean-AT-nxp.com>, <rogerq-AT-kernel.org>, <danishanwar-AT-ti.com>, <pabeni-AT-redhat.com>, <kuba-AT-kernel.org>, <edumazet-AT-google.com>, <davem-AT-davemloft.net>, <andrew+netdev-AT-lunn.ch>
Subject:  [PATCH net-next v6 0/2] Add Frame Preemption MAC Merge support for ICSSG
Date:  Mon, 25 May 2026 23:56:58 +0530
Message-ID:  <20260525182700.3135858-1-m-malladi@ti.com>
Cc:  <linux-arm-kernel-AT-lists.infradead.org>, <netdev-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org>, <srk-AT-ti.com>, Vignesh Raghavendra <vigneshr-AT-ti.com>
Archive-link:  Article

This patch series adds QoS support to the ICSSG PRUETH driver.
The first patch implements mqprio qdisc handling and TC offload hooks
so userspace can request TC mappings and queue counts.

It also integrates a driver-side mechanism to program the firmware
with the IET/FPE preemption mask and to kick the firmware verify state
machine when frame preemption is enabled. The second patch adds ethtool
perations for the MAC Merge (Frame Preemption) sublayer, exposing .get_mm,
.set_mm and .get_mm_stats so admins can view and change MAC Merge
parameters and retrieve preemption statistics.

v5: https://lore.kernel.org/all/20260430111723.497113-1-m-mal...

MD Danish Anwar (2):
  net: ti: icssg-prueth: Add Frame Preemption MAC Merge support
  net: ti: icssg-prueth: Add ethtool ops for Frame Preemption MAC Merge

 drivers/net/ethernet/ti/Makefile              |   3 +-
 drivers/net/ethernet/ti/icssg/icssg_common.c  |   1 +
 drivers/net/ethernet/ti/icssg/icssg_config.h  |   9 -
 drivers/net/ethernet/ti/icssg/icssg_ethtool.c | 106 +++++++
 drivers/net/ethernet/ti/icssg/icssg_prueth.c  |   6 +
 drivers/net/ethernet/ti/icssg/icssg_prueth.h  |   9 +-
 drivers/net/ethernet/ti/icssg/icssg_qos.c     | 269 ++++++++++++++++++
 drivers/net/ethernet/ti/icssg/icssg_qos.h     | 112 ++++++++
 drivers/net/ethernet/ti/icssg/icssg_stats.c   |   4 +-
 drivers/net/ethernet/ti/icssg/icssg_stats.h   |   7 +-
 .../net/ethernet/ti/icssg/icssg_switch_map.h  |   5 +
 11 files changed, 514 insertions(+), 17 deletions(-)
 create mode 100644 drivers/net/ethernet/ti/icssg/icssg_qos.c
 create mode 100644 drivers/net/ethernet/ti/icssg/icssg_qos.h


base-commit: 830d8771ae3c7bc90a62dde76a6556e612529fbc
-- 
2.43.0




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds