IB/mlx5: Extend UAR stuff to support dynamic allocation
authorYishai Hadas <yishaih@mellanox.com>
Sun, 24 Dec 2017 14:31:34 +0000 (16:31 +0200)
committerJason Gunthorpe <jgg@mellanox.com>
Thu, 28 Dec 2017 18:33:14 +0000 (11:33 -0700)
commit31a78a5a7983141c17852d31eb3a1f70d8161225
tree662a31e605511ab2a7015a4c81572b0991caaa0d
parent4e2b53a5cb5a8243284dd7ec4980d2dc556e79f0
IB/mlx5: Extend UAR stuff to support dynamic allocation

This patch extends the alloc context flow to be prepared for working
with dynamic UAR allocations.

Currently upon alloc context there is some fix size of UARs that are
allocated (named 'static allocation') and there is no option to user
application to ask for more or control which UAR will be used by which
QP.

In this patch the driver prepares its data structures to manage both the
static and the dynamic allocations and let the user driver knows about
the max value of dynamic blue-flame registers that are allowed.

Downstream patches from this series will enable the dynamic allocation
and the association as part of QP creation.

Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/mlx5/main.c
drivers/infiniband/hw/mlx5/mlx5_ib.h
drivers/infiniband/hw/mlx5/qp.c
include/linux/mlx5/device.h
include/linux/mlx5/driver.h
include/uapi/rdma/mlx5-abi.h