Commit 59ad21c2 authored by Leon Romanovsky's avatar Leon Romanovsky

net/mlx5: Update fw.c new cmd interface

Do mass update of fw.c to reuse newly introduced
mlx5_cmd_exec_in*() interfaces.
Reviewed-by: default avatarMoshe Shemesh <moshe@mellanox.com>
Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
parent 31a0956e
...@@ -67,26 +67,19 @@ enum { ...@@ -67,26 +67,19 @@ enum {
MCQI_FW_STORED_VERSION = 1, MCQI_FW_STORED_VERSION = 1,
}; };
static int mlx5_cmd_query_adapter(struct mlx5_core_dev *dev, u32 *out,
int outlen)
{
u32 in[MLX5_ST_SZ_DW(query_adapter_in)] = {0};
MLX5_SET(query_adapter_in, in, opcode, MLX5_CMD_OP_QUERY_ADAPTER);
return mlx5_cmd_exec(dev, in, sizeof(in), out, outlen);
}
int mlx5_query_board_id(struct mlx5_core_dev *dev) int mlx5_query_board_id(struct mlx5_core_dev *dev)
{ {
u32 *out; u32 *out;
int outlen = MLX5_ST_SZ_BYTES(query_adapter_out); int outlen = MLX5_ST_SZ_BYTES(query_adapter_out);
u32 in[MLX5_ST_SZ_DW(query_adapter_in)] = {};
int err; int err;
out = kzalloc(outlen, GFP_KERNEL); out = kzalloc(outlen, GFP_KERNEL);
if (!out) if (!out)
return -ENOMEM; return -ENOMEM;
err = mlx5_cmd_query_adapter(dev, out, outlen); MLX5_SET(query_adapter_in, in, opcode, MLX5_CMD_OP_QUERY_ADAPTER);
err = mlx5_cmd_exec_inout(dev, query_adapter, in, out);
if (err) if (err)
goto out; goto out;
...@@ -105,13 +98,15 @@ int mlx5_core_query_vendor_id(struct mlx5_core_dev *mdev, u32 *vendor_id) ...@@ -105,13 +98,15 @@ int mlx5_core_query_vendor_id(struct mlx5_core_dev *mdev, u32 *vendor_id)
{ {
u32 *out; u32 *out;
int outlen = MLX5_ST_SZ_BYTES(query_adapter_out); int outlen = MLX5_ST_SZ_BYTES(query_adapter_out);
u32 in[MLX5_ST_SZ_DW(query_adapter_in)] = {};
int err; int err;
out = kzalloc(outlen, GFP_KERNEL); out = kzalloc(outlen, GFP_KERNEL);
if (!out) if (!out)
return -ENOMEM; return -ENOMEM;
err = mlx5_cmd_query_adapter(mdev, out, outlen); MLX5_SET(query_adapter_in, in, opcode, MLX5_CMD_OP_QUERY_ADAPTER);
err = mlx5_cmd_exec_inout(mdev, query_adapter, in, out);
if (err) if (err)
goto out; goto out;
...@@ -259,8 +254,7 @@ int mlx5_query_hca_caps(struct mlx5_core_dev *dev) ...@@ -259,8 +254,7 @@ int mlx5_query_hca_caps(struct mlx5_core_dev *dev)
int mlx5_cmd_init_hca(struct mlx5_core_dev *dev, uint32_t *sw_owner_id) int mlx5_cmd_init_hca(struct mlx5_core_dev *dev, uint32_t *sw_owner_id)
{ {
u32 out[MLX5_ST_SZ_DW(init_hca_out)] = {0}; u32 in[MLX5_ST_SZ_DW(init_hca_in)] = {};
u32 in[MLX5_ST_SZ_DW(init_hca_in)] = {0};
int i; int i;
MLX5_SET(init_hca_in, in, opcode, MLX5_CMD_OP_INIT_HCA); MLX5_SET(init_hca_in, in, opcode, MLX5_CMD_OP_INIT_HCA);
...@@ -271,16 +265,15 @@ int mlx5_cmd_init_hca(struct mlx5_core_dev *dev, uint32_t *sw_owner_id) ...@@ -271,16 +265,15 @@ int mlx5_cmd_init_hca(struct mlx5_core_dev *dev, uint32_t *sw_owner_id)
sw_owner_id[i]); sw_owner_id[i]);
} }
return mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out)); return mlx5_cmd_exec_in(dev, init_hca, in);
} }
int mlx5_cmd_teardown_hca(struct mlx5_core_dev *dev) int mlx5_cmd_teardown_hca(struct mlx5_core_dev *dev)
{ {
u32 out[MLX5_ST_SZ_DW(teardown_hca_out)] = {0}; u32 in[MLX5_ST_SZ_DW(teardown_hca_in)] = {};
u32 in[MLX5_ST_SZ_DW(teardown_hca_in)] = {0};
MLX5_SET(teardown_hca_in, in, opcode, MLX5_CMD_OP_TEARDOWN_HCA); MLX5_SET(teardown_hca_in, in, opcode, MLX5_CMD_OP_TEARDOWN_HCA);
return mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out)); return mlx5_cmd_exec_in(dev, teardown_hca, in);
} }
int mlx5_cmd_force_teardown_hca(struct mlx5_core_dev *dev) int mlx5_cmd_force_teardown_hca(struct mlx5_core_dev *dev)
...@@ -315,8 +308,8 @@ int mlx5_cmd_force_teardown_hca(struct mlx5_core_dev *dev) ...@@ -315,8 +308,8 @@ int mlx5_cmd_force_teardown_hca(struct mlx5_core_dev *dev)
int mlx5_cmd_fast_teardown_hca(struct mlx5_core_dev *dev) int mlx5_cmd_fast_teardown_hca(struct mlx5_core_dev *dev)
{ {
unsigned long end, delay_ms = MLX5_FAST_TEARDOWN_WAIT_MS; unsigned long end, delay_ms = MLX5_FAST_TEARDOWN_WAIT_MS;
u32 out[MLX5_ST_SZ_DW(teardown_hca_out)] = {0}; u32 out[MLX5_ST_SZ_DW(teardown_hca_out)] = {};
u32 in[MLX5_ST_SZ_DW(teardown_hca_in)] = {0}; u32 in[MLX5_ST_SZ_DW(teardown_hca_in)] = {};
int state; int state;
int ret; int ret;
...@@ -329,7 +322,7 @@ int mlx5_cmd_fast_teardown_hca(struct mlx5_core_dev *dev) ...@@ -329,7 +322,7 @@ int mlx5_cmd_fast_teardown_hca(struct mlx5_core_dev *dev)
MLX5_SET(teardown_hca_in, in, profile, MLX5_SET(teardown_hca_in, in, profile,
MLX5_TEARDOWN_HCA_IN_PROFILE_PREPARE_FAST_TEARDOWN); MLX5_TEARDOWN_HCA_IN_PROFILE_PREPARE_FAST_TEARDOWN);
ret = mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out)); ret = mlx5_cmd_exec_inout(dev, teardown_hca, in, out);
if (ret) if (ret)
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment