]> git.baikalelectronics.ru Git - kernel.git/commit
net/mlx5: Introduce TSAR manipulation firmware commands
authorMohamad Haj Yahia <mohamad@mellanox.com>
Thu, 11 Aug 2016 08:21:39 +0000 (11:21 +0300)
committerLeon Romanovsky <leon@kernel.org>
Sun, 30 Oct 2016 13:43:12 +0000 (15:43 +0200)
commit8a09ab44fa7166a3802ca4ad8096f1296dab5916
treed7f151a2c0e0ea6a6b5075d966a48a99115856be
parent80faff3679eb36108cf9413ea52928c7247d5f12
net/mlx5: Introduce TSAR manipulation firmware commands

TSAR (stands for Transmit Scheduling ARbiter) is a hardware component
that is responsible for selecting the next entity to serve on the
transmit path.
The arbitration defines the QoS policy between the agents connected to
the TSAR.
The TSAR is a consist two main features:
1) BW Allocation between agents:
The TSAR implements a defecit weighted round robin between the agents.
Each agent attached to the TSAR is assigned with a weight and it is
awarded transmission tokens according to this weight.
2) Rate limer per agent:
Each agent attached to the TSAR is (optionally) assigned with a rate
limit.
TSAR will not allow scheduling for an agent exceeding its defined rate
limit.

In this patch we implement the API of manipulating the TSAR.

Signed-off-by: Mohamad Haj Yahia <mohamad@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/cmd.c
drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h
drivers/net/ethernet/mellanox/mlx5/core/rl.c
include/linux/mlx5/mlx5_ifc.h