|
@@ -310,6 +310,7 @@ static int mlx5_internal_err_ret_value(struct mlx5_core_dev *dev, u16 op,
|
|
|
case MLX5_CMD_OP_DEALLOC_ENCAP_HEADER:
|
|
|
case MLX5_CMD_OP_DEALLOC_MODIFY_HEADER_CONTEXT:
|
|
|
case MLX5_CMD_OP_FPGA_DESTROY_QP:
|
|
|
+ case MLX5_CMD_OP_DESTROY_GENERAL_OBJECT:
|
|
|
return MLX5_CMD_STAT_OK;
|
|
|
|
|
|
case MLX5_CMD_OP_QUERY_HCA_CAP:
|
|
@@ -427,6 +428,7 @@ static int mlx5_internal_err_ret_value(struct mlx5_core_dev *dev, u16 op,
|
|
|
case MLX5_CMD_OP_FPGA_MODIFY_QP:
|
|
|
case MLX5_CMD_OP_FPGA_QUERY_QP:
|
|
|
case MLX5_CMD_OP_FPGA_QUERY_QP_COUNTERS:
|
|
|
+ case MLX5_CMD_OP_CREATE_GENERAL_OBJECT:
|
|
|
*status = MLX5_DRIVER_STATUS_ABORTED;
|
|
|
*synd = MLX5_DRIVER_SYND;
|
|
|
return -EIO;
|
|
@@ -599,6 +601,8 @@ const char *mlx5_command_str(int command)
|
|
|
MLX5_COMMAND_STR_CASE(FPGA_QUERY_QP);
|
|
|
MLX5_COMMAND_STR_CASE(FPGA_QUERY_QP_COUNTERS);
|
|
|
MLX5_COMMAND_STR_CASE(FPGA_DESTROY_QP);
|
|
|
+ MLX5_COMMAND_STR_CASE(CREATE_GENERAL_OBJECT);
|
|
|
+ MLX5_COMMAND_STR_CASE(DESTROY_GENERAL_OBJECT);
|
|
|
default: return "unknown command opcode";
|
|
|
}
|
|
|
}
|
|
@@ -677,7 +681,7 @@ struct mlx5_ifc_mbox_out_bits {
|
|
|
|
|
|
struct mlx5_ifc_mbox_in_bits {
|
|
|
u8 opcode[0x10];
|
|
|
- u8 reserved_at_10[0x10];
|
|
|
+ u8 uid[0x10];
|
|
|
|
|
|
u8 reserved_at_20[0x10];
|
|
|
u8 op_mod[0x10];
|
|
@@ -697,6 +701,7 @@ static int mlx5_cmd_check(struct mlx5_core_dev *dev, void *in, void *out)
|
|
|
u8 status;
|
|
|
u16 opcode;
|
|
|
u16 op_mod;
|
|
|
+ u16 uid;
|
|
|
|
|
|
mlx5_cmd_mbox_status(out, &status, &syndrome);
|
|
|
if (!status)
|
|
@@ -704,8 +709,18 @@ static int mlx5_cmd_check(struct mlx5_core_dev *dev, void *in, void *out)
|
|
|
|
|
|
opcode = MLX5_GET(mbox_in, in, opcode);
|
|
|
op_mod = MLX5_GET(mbox_in, in, op_mod);
|
|
|
+ uid = MLX5_GET(mbox_in, in, uid);
|
|
|
|
|
|
- mlx5_core_err(dev,
|
|
|
+ if (!uid && opcode != MLX5_CMD_OP_DESTROY_MKEY)
|
|
|
+ mlx5_core_err(dev,
|
|
|
+ "%s(0x%x) op_mod(0x%x) failed, status %s(0x%x), syndrome (0x%x)\n",
|
|
|
+ mlx5_command_str(opcode),
|
|
|
+ opcode, op_mod,
|
|
|
+ cmd_status_str(status),
|
|
|
+ status,
|
|
|
+ syndrome);
|
|
|
+ else
|
|
|
+ mlx5_core_dbg(dev,
|
|
|
"%s(0x%x) op_mod(0x%x) failed, status %s(0x%x), syndrome (0x%x)\n",
|
|
|
mlx5_command_str(opcode),
|
|
|
opcode, op_mod,
|