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

Vineeth Karumanchi posted 4 patches 1 month, 3 weeks ago
There is a newer version of this series
drivers/net/ethernet/cadence/macb.h      |  11 +-
drivers/net/ethernet/cadence/macb_main.c | 209 +++++++++++++++++++++--
2 files changed, 206 insertions(+), 14 deletions(-)
[PATCH net-next 0/4] net: macb: Add TSN MQPRIO and CBS traffic-class offload
Posted by Vineeth Karumanchi 1 month, 3 weeks ago
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