X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fcommon%2Fmlx5%2Fmlx5_prm.h;h=58d180486e6a7471dde886c0b1a697061356b48b;hb=7e7af4e99a9d34e3d8510fe9c57b683ea762cfcc;hp=7d5f4bde9d45e25699e73b01bba2190abcb486f5;hpb=7f6e6bee2a4e5ebaa0a9e8f9cd58eed48656d7ba;p=dpdk.git diff --git a/drivers/common/mlx5/mlx5_prm.h b/drivers/common/mlx5/mlx5_prm.h index 7d5f4bde9d..58d180486e 100644 --- a/drivers/common/mlx5/mlx5_prm.h +++ b/drivers/common/mlx5/mlx5_prm.h @@ -293,6 +293,15 @@ struct mlx5_wqe_cseg { uint32_t misc; } __rte_packed __rte_aligned(MLX5_WSEG_SIZE); +/* + * WQE CSEG opcode field size is 32 bits, divided: + * Bits 31:24 OPC_MOD + * Bits 23:8 wqe_index + * Bits 7:0 OPCODE + */ +#define WQE_CSEG_OPC_MOD_OFFSET 24 +#define WQE_CSEG_WQE_INDEX_OFFSET 8 + /* Header of data segment. Minimal size Data Segment */ struct mlx5_wqe_dseg { uint32_t bcount; @@ -2359,20 +2368,25 @@ struct mlx5_ifc_create_flow_hit_aso_in_bits { struct mlx5_ifc_flow_hit_aso_bits flow_hit_aso; }; -enum mlx5_access_aso_op_mod { - ASO_OP_MOD_IPSEC = 0x0, - ASO_OP_MOD_CONNECTION_TRACKING = 0x1, - ASO_OP_MOD_POLICER = 0x2, - ASO_OP_MOD_RACE_AVOIDANCE = 0x3, - ASO_OP_MOD_FLOW_HIT = 0x4, +enum mlx5_access_aso_opc_mod { + ASO_OPC_MOD_IPSEC = 0x0, + ASO_OPC_MOD_CONNECTION_TRACKING = 0x1, + ASO_OPC_MOD_POLICER = 0x2, + ASO_OPC_MOD_RACE_AVOIDANCE = 0x3, + ASO_OPC_MOD_FLOW_HIT = 0x4, }; +#define ASO_CSEG_DATA_MASK_MODE_OFFSET 30 + enum mlx5_aso_data_mask_mode { BITWISE_64BIT = 0x0, BYTEWISE_64BYTE = 0x1, CALCULATED_64BYTE = 0x2, }; +#define ASO_CSEG_COND_0_OPER_OFFSET 20 +#define ASO_CSEG_COND_1_OPER_OFFSET 16 + enum mlx5_aso_pre_cond_op { ASO_OP_ALWAYS_FALSE = 0x0, ASO_OP_ALWAYS_TRUE = 0x1, @@ -2386,6 +2400,8 @@ enum mlx5_aso_pre_cond_op { ASO_OP_CYCLIC_LESSER = 0x9, }; +#define ASO_CSEG_COND_OPER_OFFSET 6 + enum mlx5_aso_op { ASO_OPER_LOGICAL_AND = 0x0, ASO_OPER_LOGICAL_OR = 0x1, @@ -2394,7 +2410,7 @@ enum mlx5_aso_op { /* ASO WQE CTRL segment. */ struct mlx5_aso_cseg { uint32_t va_h; - uint32_t va_l_ro; + uint32_t va_l_r; uint32_t lkey; uint32_t operand_masks; uint32_t condition_0_data;