Skip to content
  • Mohamad Haj Yahia's avatar
    net/mlx5: Introduce TSAR manipulation firmware commands · 813f8540
    Mohamad Haj Yahia authored
    
    
    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: default avatarMohamad Haj Yahia <mohamad@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
    813f8540