net/bnxt: support Thor platform
[dpdk.git] / drivers / net / bnxt / tf_core / tf_core.h
index 95cde2e..be5725a 100644 (file)
@@ -233,7 +233,7 @@ enum tf_identifier_type {
         */
        TF_IDENT_TYPE_EM_PROF,
        /**
-        *  TH
+        *  (Future)
         *  The L2 func is included in the ILT result and from recycling to
         *  enable virtualization of further lookups.
         */
@@ -848,7 +848,6 @@ struct tf_get_session_info_parms {
  */
 int tf_get_session_info(struct tf *tfp,
                        struct tf_get_session_info_parms *parms);
-
 /**
  * Experimental
  *
@@ -1105,10 +1104,6 @@ struct tf_alloc_tbl_scope_parms {
         * [in] Number of flows * 1000. If set, rx_mem_size_in_mb must equal 0.
         */
        uint32_t rx_num_flows_in_k;
-       /**
-        * [in] SR2 only receive table access interface id
-        */
-       uint32_t rx_tbl_if_id;
        /**
         * [in] All Maximum key size required.
         */
@@ -1127,10 +1122,6 @@ struct tf_alloc_tbl_scope_parms {
         * [in] Number of flows * 1000
         */
        uint32_t tx_num_flows_in_k;
-       /**
-        * [in] SR2 only receive table access interface id
-        */
-       uint32_t tx_tbl_if_id;
        /**
         * [in] Flush pending HW cached flows every 1/10th of value
         * set in seconds, both idle and active flows are flushed
@@ -1245,6 +1236,8 @@ int tf_free_tbl_scope(struct tf *tfp,
  *
 #ifdef TF_TCAM_SHARED
  * @ref tf_move_tcam_shared_entries
+ *
+ * @ref tf_clear_tcam_shared_entries
 #endif
  */
 
@@ -1581,6 +1574,37 @@ struct tf_move_tcam_shared_entries_parms {
 int tf_move_tcam_shared_entries(struct tf *tfp,
                                struct tf_move_tcam_shared_entries_parms *parms);
 
+/**
+ * tf_clear_tcam_shared_entries parameter definition
+ */
+struct tf_clear_tcam_shared_entries_parms {
+       /**
+        * [in] receive or transmit direction
+        */
+       enum tf_dir dir;
+       /**
+        * [in] TCAM table type
+        */
+       enum tf_tcam_tbl_type tcam_tbl_type;
+};
+
+/**
+ * Clear TCAM shared entries pool
+ *
+ * This API only affects the following TCAM pools within a shared session:
+ *
+ * TF_TCAM_TBL_TYPE_WC_TCAM_HIGH
+ * TF_TCAM_TBL_TYPE_WC_TCAM_LOW
+ *
+ * When called, the indicated WC TCAM high or low pool will be cleared.
+ *
+ * This API is not supported on a non-shared session.
+ *
+ * Returns success or failure code.
+ */
+int tf_clear_tcam_shared_entries(struct tf *tfp,
+                             struct tf_clear_tcam_shared_entries_parms *parms);
+
 #endif /* TF_TCAM_SHARED */
 /**
  * @page table Table Access
@@ -1594,6 +1618,8 @@ int tf_move_tcam_shared_entries(struct tf *tfp,
  * @ref tf_get_tbl_entry
  *
  * @ref tf_bulk_get_tbl_entry
+ *
+ * @ref tf_get_shared_tbl_increment
  */
 
 /**
@@ -1844,6 +1870,37 @@ struct tf_set_tbl_entry_parms {
 int tf_set_tbl_entry(struct tf *tfp,
                     struct tf_set_tbl_entry_parms *parms);
 
+/**
+ * tf_get_shared_tbl_increment parameter definition
+ */
+struct tf_get_shared_tbl_increment_parms {
+       /**
+        * [in] Receive or transmit direction
+        */
+       enum tf_dir dir;
+       /**
+        * [in] Type of object to set
+        */
+       enum tf_tbl_type type;
+       /**
+        * [out] Value to increment by for resource type
+        */
+       uint32_t increment_cnt;
+};
+
+/**
+ * tf_get_shared_tbl_increment
+ *
+ * This API is currently only required for use in the shared
+ * session for Thor (p58) actions.  An increment count is returned per
+ * type to indicate how much to increment the start by for each
+ * entry (see tf_resource_info)
+ *
+ * Returns success or failure code.
+ */
+int tf_get_shared_tbl_increment(struct tf *tfp,
+                               struct tf_get_shared_tbl_increment_parms *parms);
+
 /**
  * tf_get_tbl_entry parameter definition
  */
@@ -2076,7 +2133,7 @@ struct tf_move_em_entry_parms {
        uint64_t flow_handle;
 };
 /**
- * tf_search_em_entry parameter definition
+ * tf_search_em_entry parameter definition (Future)
  */
 struct tf_search_em_entry_parms {
        /**
@@ -2179,7 +2236,7 @@ int tf_delete_em_entry(struct tf *tfp,
                       struct tf_delete_em_entry_parms *parms);
 
 /**
- * search em hash entry table memory
+ * search em hash entry table memory (Future)
  *
  * Internal: