net/bnxt: add cache table type for TCAM lookup
[dpdk.git] / drivers / net / bnxt / tf_ulp / ulp_template_db.h
index cf4ff9f..a5606bd 100644 (file)
 #ifndef ULP_TEMPLATE_DB_H_
 #define ULP_TEMPLATE_DB_H_
 
-#define BNXT_ULP_REGFILE_MAX_SZ 15
+#define BNXT_ULP_REGFILE_MAX_SZ 16
 #define BNXT_ULP_MAX_NUM_DEVICES 4
 #define BNXT_ULP_LOG2_MAX_NUM_DEV 2
+#define BNXT_ULP_CACHE_TBL_MAX_SZ 4
 #define BNXT_ULP_CLASS_SIG_TBL_MAX_SZ 256
 #define BNXT_ULP_CLASS_MATCH_LIST_MAX_SZ 2
 #define BNXT_ULP_CLASS_HID_LOW_PRIME 7919
@@ -28,6 +29,7 @@
 #define BNXT_ULP_ACT_HID_SHFTR 0
 #define BNXT_ULP_ACT_HID_SHFTL 23
 #define BNXT_ULP_ACT_HID_MASK 255
+#define BNXT_ULP_CACHE_TBL_IDENT_MAX_NUM 2
 #define BNXT_ULP_DEF_IDENT_INFO_TBL_MAX_SZ 1
 
 enum bnxt_ulp_action_bit {
@@ -95,6 +97,14 @@ enum bnxt_ulp_byte_order {
        BNXT_ULP_BYTE_ORDER_LAST = 2
 };
 
+enum bnxt_ulp_cache_tbl_id {
+       BNXT_ULP_CACHE_TBL_ID_L2_CNTXT_TCAM_INGRESS = 0,
+       BNXT_ULP_CACHE_TBL_ID_L2_CNTXT_TCAM_EGRESS = 1,
+       BNXT_ULP_CACHE_TBL_ID_PROFILE_TCAM_INGRESS = 2,
+       BNXT_ULP_CACHE_TBL_ID_PROFILE_TCAM_EGRESS = 3,
+       BNXT_ULP_CACHE_TBL_ID_LAST = 4
+};
+
 enum bnxt_ulp_chf_idx {
        BNXT_ULP_CHF_IDX_MPLS_TAG_NUM = 0,
        BNXT_ULP_CHF_IDX_O_VTAG_NUM = 1,
@@ -188,17 +198,19 @@ enum bnxt_ulp_regfile_index {
        BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 = 11,
        BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_1 = 12,
        BNXT_ULP_REGFILE_INDEX_CRITICAL_RESOURCE = 13,
-       BNXT_ULP_REGFILE_INDEX_NOT_USED = 14,
-       BNXT_ULP_REGFILE_INDEX_LAST = 15
+       BNXT_ULP_REGFILE_INDEX_CACHE_ENTRY_PTR = 14,
+       BNXT_ULP_REGFILE_INDEX_NOT_USED = 15,
+       BNXT_ULP_REGFILE_INDEX_LAST = 16
 };
 
 enum bnxt_ulp_resource_func {
        BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE = 0,
        BNXT_ULP_RESOURCE_FUNC_EM_TABLE = 1,
        BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE = 2,
-       BNXT_ULP_RESOURCE_FUNC_IDENTIFIER = 3,
-       BNXT_ULP_RESOURCE_FUNC_HW_FID = 4,
-       BNXT_ULP_RESOURCE_FUNC_LAST = 5
+       BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE = 3,
+       BNXT_ULP_RESOURCE_FUNC_IDENTIFIER = 4,
+       BNXT_ULP_RESOURCE_FUNC_HW_FID = 5,
+       BNXT_ULP_RESOURCE_FUNC_LAST = 6
 };
 
 enum bnxt_ulp_result_opc {