mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-20 04:44:26 +08:00
net/mlx5: Provide simplified command interfaces
Many mlx5_cmd_exec() callers are not interested in the output from that command or have standard in/out structures. Those callers simply allocate those structure on the stack and use sizeof() to provide in/out arguments. In this naive approach provide simplified versions of mlx5_cmd_exec(). Reviewed-by: Saeed Mahameed <saeedm@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
This commit is contained in:
parent
8f3d9f3542
commit
bb7fc86372
@ -903,6 +903,19 @@ int mlx5_cmd_exec_cb(struct mlx5_async_ctx *ctx, void *in, int in_size,
|
||||
|
||||
int mlx5_cmd_exec(struct mlx5_core_dev *dev, void *in, int in_size, void *out,
|
||||
int out_size);
|
||||
|
||||
#define mlx5_cmd_exec_inout(dev, ifc_cmd, in, out) \
|
||||
({ \
|
||||
mlx5_cmd_exec(dev, in, MLX5_ST_SZ_BYTES(ifc_cmd##_in), out, \
|
||||
MLX5_ST_SZ_BYTES(ifc_cmd##_out)); \
|
||||
})
|
||||
|
||||
#define mlx5_cmd_exec_in(dev, ifc_cmd, in) \
|
||||
({ \
|
||||
u32 _out[MLX5_ST_SZ_DW(ifc_cmd##_out)] = {}; \
|
||||
mlx5_cmd_exec_inout(dev, ifc_cmd, in, _out); \
|
||||
})
|
||||
|
||||
int mlx5_cmd_exec_polling(struct mlx5_core_dev *dev, void *in, int in_size,
|
||||
void *out, int out_size);
|
||||
void mlx5_cmd_mbox_status(void *out, u8 *status, u32 *syndrome);
|
||||
|
Loading…
Reference in New Issue
Block a user