Commit 4744c7ad authored by Jianbo Liu's avatar Jianbo Liu Committed by Saeed Mahameed

net/mlx5: Add IFC bits for general obj create param

Before this patch, the log_obj_range was defined inside
general_obj_in_cmd_hdr to support bulk allocation. However, we need to
modify/query one of the object in the bulk in later patch, so change
those fields to param bits for parameters specific for cmd header, and
add general_obj_create_param according to what was updated in spec.
We will also add general_obj_query_param for modify/query later.
Signed-off-by: default avatarJianbo Liu <jianbol@nvidia.com>
Reviewed-by: default avatarTariq Toukan <tariqt@nvidia.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
parent c673b677
...@@ -204,13 +204,15 @@ mlx5e_flow_meter_create_aso_obj(struct mlx5e_flow_meters *flow_meters, int *obj_ ...@@ -204,13 +204,15 @@ mlx5e_flow_meter_create_aso_obj(struct mlx5e_flow_meters *flow_meters, int *obj_
u32 in[MLX5_ST_SZ_DW(create_flow_meter_aso_obj_in)] = {}; u32 in[MLX5_ST_SZ_DW(create_flow_meter_aso_obj_in)] = {};
u32 out[MLX5_ST_SZ_DW(general_obj_out_cmd_hdr)]; u32 out[MLX5_ST_SZ_DW(general_obj_out_cmd_hdr)];
struct mlx5_core_dev *mdev = flow_meters->mdev; struct mlx5_core_dev *mdev = flow_meters->mdev;
void *obj; void *obj, *param;
int err; int err;
MLX5_SET(general_obj_in_cmd_hdr, in, opcode, MLX5_CMD_OP_CREATE_GENERAL_OBJECT); MLX5_SET(general_obj_in_cmd_hdr, in, opcode, MLX5_CMD_OP_CREATE_GENERAL_OBJECT);
MLX5_SET(general_obj_in_cmd_hdr, in, obj_type, MLX5_SET(general_obj_in_cmd_hdr, in, obj_type,
MLX5_GENERAL_OBJECT_TYPES_FLOW_METER_ASO); MLX5_GENERAL_OBJECT_TYPES_FLOW_METER_ASO);
MLX5_SET(general_obj_in_cmd_hdr, in, log_obj_range, flow_meters->log_granularity); param = MLX5_ADDR_OF(general_obj_in_cmd_hdr, in, op_param);
MLX5_SET(general_obj_create_param, param, log_obj_range,
flow_meters->log_granularity);
obj = MLX5_ADDR_OF(create_flow_meter_aso_obj_in, in, flow_meter_aso_obj); obj = MLX5_ADDR_OF(create_flow_meter_aso_obj_in, in, flow_meter_aso_obj);
MLX5_SET(flow_meter_aso_obj, obj, meter_aso_access_pd, flow_meters->pdn); MLX5_SET(flow_meter_aso_obj, obj, meter_aso_access_pd, flow_meters->pdn);
......
...@@ -6196,6 +6196,13 @@ struct mlx5_ifc_match_definer_bits { ...@@ -6196,6 +6196,13 @@ struct mlx5_ifc_match_definer_bits {
}; };
}; };
struct mlx5_ifc_general_obj_create_param_bits {
u8 alias_object[0x1];
u8 reserved_at_1[0x2];
u8 log_obj_range[0x5];
u8 reserved_at_8[0x18];
};
struct mlx5_ifc_general_obj_in_cmd_hdr_bits { struct mlx5_ifc_general_obj_in_cmd_hdr_bits {
u8 opcode[0x10]; u8 opcode[0x10];
u8 uid[0x10]; u8 uid[0x10];
...@@ -6205,9 +6212,7 @@ struct mlx5_ifc_general_obj_in_cmd_hdr_bits { ...@@ -6205,9 +6212,7 @@ struct mlx5_ifc_general_obj_in_cmd_hdr_bits {
u8 obj_id[0x20]; u8 obj_id[0x20];
u8 reserved_at_60[0x3]; struct mlx5_ifc_general_obj_create_param_bits op_param;
u8 log_obj_range[0x5];
u8 reserved_at_68[0x18];
}; };
struct mlx5_ifc_general_obj_out_cmd_hdr_bits { struct mlx5_ifc_general_obj_out_cmd_hdr_bits {
......
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