IB/mlx5: Add CREATE_PSV/DESTROY_PSV for devx interface
Subsystems (2)
PATCH 1/1 IB/mlx5: Add CREATE_PSV/DESTROY_PSV for devx interface
From: Max Gurtovoy <[email protected]>
Limit the number of PSV's created through devx to 1, to create a symmetry between create/destroy cmds. In the kernel, one can create up to 4 PSV's using CREATE_PSV cmd but the destruction is one by one. Add a protection for this a-symmetric definition for devx.
Signed-off-by Max Gurtovoy <[email protected]>
Signed-off-by Leon Romanovsky <[email protected]>
--- drivers/infiniband/hw/mlx5/devx.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
drivers/infiniband/hw/mlx5/devx.c +14 -0
@@ -776,6 +776,14 @@ static bool devx_is_obj_create_cmd(const void *in, u16 *opcode)return true;return false; } +case MLX5_CMD_OP_CREATE_PSV : + { +u8 num_psv =MLX5_GET (create_psv_in, in, num_psv); + +if (num_psv ==1 ) +return true; +return false; + }default :return false; }
@@ -1215,6 +1223,12 @@ static void devx_obj_build_destroy_cmd(void *in, void *out, void *din,case MLX5_CMD_OP_ALLOC_XRCD :MLX5_SET (general_obj_in_cmd_hdr, din, opcode,MLX5_CMD_OP_DEALLOC_XRCD );break ; +case MLX5_CMD_OP_CREATE_PSV : +MLX5_SET (general_obj_in_cmd_hdr, din, opcode, +MLX5_CMD_OP_DESTROY_PSV ); +MLX5_SET (destroy_psv_in, din, psvn, +MLX5_GET (create_psv_out, out, psv0_index)); +break ;default :/* The entry must match to one of the devx_is_obj_create_cmd */ WARN_ON (true);
--
2.20.1
Jason Gunthorpe
AppliedQuoted 7 lines · Leon Romanovsky
From: Max Gurtovoy <[email protected]>
Limit the number of PSV's created through devx to 1, to create a symmetry between create/destroy cmds. In the kernel, one can create up to 4 PSV's using
CREATE_PSVcmd but the destruction is one by one. Add a protection for this a-symmetric definition for devx.
Quoted 5 lines
Signed-off-by Max Gurtovoy <[email protected]>Signed-off-by Leon Romanovsky <[email protected]>--- drivers/infiniband/hw/mlx5/devx.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
Applied to for-next, thanks
Jason