This series of patches implement tx max rate limiting per queue on Chelsio T4/T5 hardware. This is achieved by first creating a tx scheduling class with the specified max rate. The queue is then bound to the newly created class. If a scheduling class with similar max rate already exists, then the queue is bound to the matching class.
Patch 1 adds support for setting tx scheduling classes. Patch 2 adds support to bind/unbind queues to/from the scheduling classes. Patch 3 implements the set_tx_maxrate NDO. Rahul Lakkireddy (3): cxgb4: add support for tx traffic scheduling classes cxgb4: add support for per queue tx scheduling cxgb4: add support for tx max rate limiting drivers/net/ethernet/chelsio/cxgb4/Makefile | 2 +- drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 56 ++- drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 102 ++++- drivers/net/ethernet/chelsio/cxgb4/sched.c | 556 ++++++++++++++++++++++++ drivers/net/ethernet/chelsio/cxgb4/sched.h | 110 +++++ drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 31 +- drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h | 38 +- 7 files changed, 890 insertions(+), 5 deletions(-) create mode 100644 drivers/net/ethernet/chelsio/cxgb4/sched.c create mode 100644 drivers/net/ethernet/chelsio/cxgb4/sched.h -- 2.5.3