IB/mlx5: Respect new UMR capabilities
authorMajd Dibbiny <majd@mellanox.com>
Thu, 22 Mar 2018 13:34:04 +0000 (15:34 +0200)
committerJason Gunthorpe <jgg@mellanox.com>
Tue, 27 Mar 2018 20:43:10 +0000 (14:43 -0600)
commitc8d75a980fab886a9c716567e6b47cc414ad84ee
tree47efb6929948eb16592e7faeb379ee3afbf5cd25
parentea8af0d2f2b5b16da4553205ddaf225e0a057e03
IB/mlx5: Respect new UMR capabilities

In some firmware configuration, UMR usage from Virtual Functions is restricted.
This information is published to the driver using new capability bits.

Avoid using UMRs in these cases and use the Firmware slow-path flow to create
mkeys and populate them with Virtual to Physical address translation.

Older drivers that do not have this patch, will end up using memory keys that
aren't populated with Virtual to Physical address translation that is done
part of the UMR work.

Reviewed-by: Mark Bloch <markb@mellanox.com>
Signed-off-by: Majd Dibbiny <majd@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Tested-by: Laurence Oberman <loberman@redhat.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/mlx5/mr.c
drivers/infiniband/hw/mlx5/qp.c
include/linux/mlx5/mlx5_ifc.h