IB/mlx5: Fix binary compatibility with libmlx5
Commit
c1be5232d21d "Fix micro UAR allocator" broke binary compatibility
between libmlx5 and mlx5_ib since it defines a different value to the number of
micro UARs per page, leading to wrong calculation in libmlx5. This patch
defines struct mlx5_ib_alloc_ucontext_req_v2 as an extension to struct
mlx5_ib_alloc_ucontext_req. The extended size is determined in
mlx5_ib_alloc_ucontext() and in case of old library we use uuarn 0 which works
fine -- this is acheived due to create_user_qp() falling back from high to
medium then to low class where low class will return 0. For new libraries we
use the more sophisticated allocation algorithm.
Issue: 371069
Change-Id: I43b67013e11f4c8dc395b4920118fe2831ffe19d
Fixes: c1be5232d21d ('Fix micro UAR allocator')
Signed-off-by: Eli Cohen <eli@mellanox.com>
Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>