• Eli Cohen's avatar
    net/mlx5: Introduce blue flame register allocator · a6d51b68
    Eli Cohen authored
    Here is an implementation of an allocator that allocates blue flame
    registers. A blue flame register is used for generating send doorbells.
    A blue flame register can be used to generate either a regular doorbell
    or a blue flame doorbell where the data to be sent is written to the
    device's I/O memory hence saving the need to read the data from memory.
    For blue flame kind of doorbells to succeed, the blue flame register
    need to be mapped as write combining. The user can specify what kind of
    send doorbells she wishes to use. If she requested write combining
    mapping but that failed, the allocator will fall back to non write
    combining mapping and will indicate that to the user.
    Subsequent patches in this series will make use of this allocator.
    Signed-off-by: default avatarEli Cohen <eli@mellanox.com>
    Reviewed-by: default avatarMatan Barak <matanb@mellanox.com>
    Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    a6d51b68
uar.c 11.8 KB