ethdev: promote sibling iterators to stable
[dpdk.git] / drivers / net / bnxt / tf_ulp / ulp_template_struct.h
index ee5fbde..0cbac66 100644 (file)
@@ -70,7 +70,7 @@ struct ulp_rte_parser_params {
        struct ulp_rte_field_bitmap     fld_bitmap;
        struct ulp_rte_field_bitmap     fld_s_bitmap;
        struct ulp_rte_hdr_field        hdr_field[BNXT_ULP_PROTO_HDR_MAX];
-       uint32_t                        comp_fld[BNXT_ULP_CF_IDX_LAST];
+       uint64_t                        comp_fld[BNXT_ULP_CF_IDX_LAST];
        uint32_t                        field_idx;
        struct ulp_rte_act_bitmap       act_bitmap;
        struct ulp_rte_act_prop         act_prop;
@@ -88,6 +88,7 @@ struct ulp_rte_parser_params {
        uint32_t                        flow_sig_id;
        uint32_t                        flow_pattern_id;
        uint32_t                        act_pattern_id;
+       uint8_t                         app_id;
 };
 
 /* Flow Parser Header Information Structure */
@@ -133,6 +134,7 @@ struct bnxt_ulp_class_match_info {
        uint32_t                class_tid;
        uint8_t                 act_vnic;
        uint8_t                 wc_pri;
+       uint8_t                 app_sig;
        uint32_t                hdr_sig_id;
        uint32_t                flow_sig_id;
        uint32_t                flow_pattern_id;
@@ -153,6 +155,7 @@ struct bnxt_ulp_act_match_info {
        uint32_t                act_hid;
        uint32_t                act_tid;
        uint32_t                act_pattern_id;
+       uint8_t                 app_sig;
 };
 
 /* Flow Matcher templates Structure for action entries */
@@ -173,13 +176,13 @@ struct bnxt_ulp_mapper_cond_list_info {
        int32_t cond_false_goto;
 };
 
-struct bnxt_ulp_mapper_cc_upd_info {
-       enum bnxt_ulp_cc_upd_opc        cc_opc;
-       enum bnxt_ulp_cc_upd_src        cc_src1;
-       enum bnxt_ulp_cc_upd_src        cc_src2;
-       uint16_t                        cc_opr1;
-       uint16_t                        cc_opr2;
-       uint16_t                        cc_dst_opr;
+struct bnxt_ulp_mapper_func_info {
+       enum bnxt_ulp_func_opc          func_opc;
+       enum bnxt_ulp_func_src          func_src1;
+       enum bnxt_ulp_func_src          func_src2;
+       uint16_t                        func_opr1;
+       uint16_t                        func_opr2;
+       uint16_t                        func_dst_opr;
 };
 
 struct bnxt_ulp_template_device_tbls {
@@ -241,7 +244,7 @@ struct bnxt_ulp_mapper_tbl_info {
        uint32_t                        resource_type; /* TF_ enum type */
        enum bnxt_ulp_resource_sub_type resource_sub_type;
        struct bnxt_ulp_mapper_cond_list_info execute_info;
-       struct bnxt_ulp_mapper_cc_upd_info cc_upd_info;
+       struct bnxt_ulp_mapper_func_info func_info;
        enum bnxt_ulp_cond_opc cond_opcode;
        uint32_t cond_operand;
        uint8_t                         direction;
@@ -281,19 +284,21 @@ struct bnxt_ulp_mapper_tbl_info {
        /* FDB table opcode */
        enum bnxt_ulp_fdb_opc           fdb_opcode;
        uint32_t                        fdb_operand;
+
+       /* Shared session */
+       enum bnxt_ulp_shared_session    shared_session;
 };
 
 struct bnxt_ulp_mapper_field_info {
        uint8_t                         description[64];
        uint16_t                        field_bit_size;
        enum bnxt_ulp_field_opc         field_opc;
-       enum bnxt_ulp_field_cond_src    field_cond_src;
-       uint8_t                         field_cond_opr[16];
        enum bnxt_ulp_field_src         field_src1;
        uint8_t                         field_opr1[16];
        enum bnxt_ulp_field_src         field_src2;
        uint8_t                         field_opr2[16];
-
+       enum bnxt_ulp_field_src         field_src3;
+       uint8_t                         field_opr3[16];
 };
 
 struct bnxt_ulp_mapper_key_info {
@@ -389,6 +394,12 @@ extern struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[];
  */
 extern struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[];
 
+/*
+ * The ulp_app_resource_resv_list provides the list of tf resources required
+ * when calling tf_open.
+ */
+extern struct bnxt_ulp_resource_resv_info ulp_app_resource_resv_list[];
+
 /*
  * The_app_cap_info_list provides the list of ULP capabilities per app/device.
  */