]> git.baikalelectronics.ru Git - kernel.git/commit
igc: Add support for CBS offloading
authorAravindhan Gunasekaran <aravindhan.gunasekaran@intel.com>
Mon, 9 Aug 2021 14:53:40 +0000 (20:23 +0530)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Fri, 27 Aug 2021 16:31:09 +0000 (09:31 -0700)
commitcde3e85dd731bc3271d79978a90e7e23f21bfd70
tree83e2df411d34dcf982dccec4c1bf2d9bca26b853
parent0caa2a690eec8bc4d2c0fce476b27f38d4ac9262
igc: Add support for CBS offloading

Implement support for Credit-based shaper(CBS) Qdisc hardware
offload mode in the driver. There are two sets of IEEE802.1Qav
(CBS) HW logic in i225 controller and this patch supports
enabling them in the top two priority TX queues.

Driver implemented as recommended by Foxville External
Architecture Specification v0.993. Idleslope and Hi-credit are
the CBS tunable parameters for i225 NIC, programmed in TQAVCC
and TQAVHC registers respectively.

In-order for IEEE802.1Qav (CBS) algorithm to work as intended
and provide BW reservation CBS should be enabled in highest
priority queue first. If we enable CBS on any of low priority
queues, the traffic in high priority queue does not allow low
priority queue to be selected for transmission and bandwidth
reservation is not guaranteed.

Signed-off-by: Aravindhan Gunasekaran <aravindhan.gunasekaran@intel.com>
Signed-off-by: Mallikarjuna Chilakala <mallikarjuna.chilakala@intel.com>
Tested-by: Dvora Fuxbrumer <dvorax.fuxbrumer@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/igc/igc.h
drivers/net/ethernet/intel/igc/igc_defines.h
drivers/net/ethernet/intel/igc/igc_main.c
drivers/net/ethernet/intel/igc/igc_regs.h
drivers/net/ethernet/intel/igc/igc_tsn.c