[PATCH net-next 0/4] net: macb: Add TSN MQPRIO and CBS traffic-class offload

Vineeth Karumanchi <[email protected]>
Newsgroups org.kernel.vger.netdev,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
This series adds TSN traffic-class hardware offload support to the
Cadence macb/GEM driver, building on the existing TAPRIO/Qbv
infrastructure.

GEM IP versions that implement Qbv (e.g. Versal GEM) also support
additional TSN clauses. The series first generalises the existing Qbv
capability flag into a traffic-class offload flag and centralises the
common ndo_setup_tc() preconditions, then adds two new offloads:

 - MQPRIO: traffic-class to hardware-queue mapping, delegating queue
   count and overlap validation to the mqprio core.

 - CBS (Credit-Based Shaper, IEEE 802.1Qav): per-queue idleslope
   programming on the two highest-priority queues, with the idleslope
   register value derived from the current link speed (full 32-bit
   range for high-speed GEM, port-rate factor for standard GEM).

Patches 1 and 2 are preparatory refactors with no functional change.
Patches 3 and 4 add the MQPRIO and CBS offloads respectively.

Vineeth Karumanchi (4):
  net: macb: Rename MACB_CAPS_QBV to MACB_CAPS_TC
  net: macb: Move TC capability and PM checks to macb_setup_tc()
  net: macb: Add MQPRIO qdisc hardware offload support
  net: macb: Add TSN CBS TC offload support

 drivers/net/ethernet/cadence/macb.h      |  11 +-
 drivers/net/ethernet/cadence/macb_main.c | 209 +++++++++++++++++++++--
 2 files changed, 206 insertions(+), 14 deletions(-)


-- 
2.44.4
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.