]> git.baikalelectronics.ru Git - kernel.git/commit
net/mlx5: Introduce blue flame register allocator
authorEli Cohen <eli@mellanox.com>
Tue, 3 Jan 2017 21:55:23 +0000 (23:55 +0200)
committerLeon Romanovsky <leon@kernel.org>
Sun, 8 Jan 2017 09:21:26 +0000 (11:21 +0200)
commit67500e27f7980f1c607905ba4e29e3cd2cdb827f
tree6d5d888d7110a37ba7676b1fbc23451b6b229a77
parent2081a4a30fa9e2b351419f7afb802dc1fd658e83
net/mlx5: Introduce blue flame register allocator

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: Eli Cohen <eli@mellanox.com>
Reviewed-by: Matan Barak <matanb@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/uar.c
include/linux/mlx5/device.h
include/linux/mlx5/driver.h
include/linux/mlx5/mlx5_ifc.h