eal: remove sys/queue.h from public headers
[dpdk.git] / drivers / net / bnxt / tf_core / tf_tbl.h
index f0d8e94..2483718 100644 (file)
@@ -15,38 +15,6 @@ struct tf;
  * The Table module provides processing of Internal TF table types.
  */
 
-/**
- * Table scope control block content
- */
-struct tf_em_caps {
-       uint32_t flags;
-       uint32_t supported;
-       uint32_t max_entries_supported;
-       uint16_t key_entry_size;
-       uint16_t record_entry_size;
-       uint16_t efc_entry_size;
-};
-
-/** Invalid table scope id */
-#define TF_TBL_SCOPE_INVALID 0xffffffff
-
-/**
- * Table Scope Control Block
- *
- * Holds private data for a table scope. Only one instance of a table
- * scope with Internal EM is supported.
- */
-struct tf_tbl_scope_cb {
-       uint32_t tbl_scope_id;
-       /** The pf or parent pf of the vf used for table scope creation
-       */
-       uint16_t pf;
-       int index;
-       struct hcapi_cfa_em_ctx_mem_info em_ctx_info[TF_DIR_MAX];
-       struct tf_em_caps em_caps[TF_DIR_MAX];
-       struct stack ext_act_pool[TF_DIR_MAX];
-       uint32_t *ext_act_pool_mem[TF_DIR_MAX];
-};
 
 /**
  * Table configuration parameters
@@ -60,14 +28,6 @@ struct tf_tbl_cfg_parms {
         * Table Type element configuration array
         */
        struct tf_rm_element_cfg *cfg;
-       /**
-        * Shadow table type configuration array
-        */
-       struct tf_shadow_tbl_cfg *shadow_cfg;
-       /**
-        * Boolean controlling the request shadow copy.
-        */
-       bool shadow_copy;
        /**
         * Session resource allocations
         */
@@ -116,57 +76,6 @@ struct tf_tbl_free_parms {
         * [in] Index to free
         */
        uint32_t idx;
-       /**
-        * [out] Reference count after free, only valid if session has been
-        * created with shadow_copy.
-        */
-       uint16_t ref_cnt;
-};
-
-/**
- * Table allocate search parameters
- */
-struct tf_tbl_alloc_search_parms {
-       /**
-        * [in] Receive or transmit direction
-        */
-       enum tf_dir dir;
-       /**
-        * [in] Type of the allocation
-        */
-       enum tf_tbl_type type;
-       /**
-        * [in] Table scope identifier (ignored unless TF_TBL_TYPE_EXT)
-        */
-       uint32_t tbl_scope_id;
-       /**
-        * [in] Result data to search for
-        */
-       uint8_t *result;
-       /**
-        * [in] Result data size in bytes
-        */
-       uint16_t result_sz_in_bytes;
-       /**
-        * [in] Whether or not to allocate on MISS, 1 is allocate.
-        */
-       uint8_t alloc;
-       /**
-        * [out] If search_enable, set if matching entry found
-        */
-       uint8_t hit;
-       /**
-        * [out] The status of the search (REJECT, MISS, HIT)
-        */
-       enum tf_search_status search_status;
-       /**
-        * [out] Current ref count after allocation
-        */
-       uint16_t ref_cnt;
-       /**
-        * [out] Idx of allocated entry or found entry
-        */
-       uint32_t idx;
 };
 
 /**
@@ -259,6 +168,16 @@ struct tf_tbl_get_bulk_parms {
        uint64_t physical_mem_addr;
 };
 
+/**
+ * Table RM database
+ *
+ * Table rm database
+ *
+ */
+struct tbl_rm_db {
+       struct rm_db *tbl_db[TF_DIR_MAX];
+};
+
 /**
  * @page tbl Table
  *
@@ -270,8 +189,6 @@ struct tf_tbl_get_bulk_parms {
  *
  * @ref tf_tbl_free
  *
- * @ref tf_tbl_alloc_search
- *
  * @ref tf_tbl_set
  *
  * @ref tf_tbl_get
@@ -328,10 +245,7 @@ int tf_tbl_alloc(struct tf *tfp,
                 struct tf_tbl_alloc_parms *parms);
 
 /**
- * Free's the requested table type and returns it to the DB. If shadow
- * DB is enabled its searched first and if found the element refcount
- * is decremented. If refcount goes to 0 then its returned to the
- * table type DB.
+ * Frees the requested table type and returns it to the DB.
  *
  * [in] tfp
  *   Pointer to TF handle, used for HCAPI communication
@@ -346,25 +260,6 @@ int tf_tbl_alloc(struct tf *tfp,
 int tf_tbl_free(struct tf *tfp,
                struct tf_tbl_free_parms *parms);
 
-/**
- * Supported if Shadow DB is configured. Searches the Shadow DB for
- * any matching element. If found the refcount in the shadow DB is
- * updated accordingly. If not found a new element is allocated and
- * installed into the shadow DB.
- *
- * [in] tfp
- *   Pointer to TF handle, used for HCAPI communication
- *
- * [in] parms
- *   Pointer to parameters
- *
- * Returns
- *   - (0) if successful.
- *   - (-EINVAL) on failure.
- */
-int tf_tbl_alloc_search(struct tf *tfp,
-                       struct tf_tbl_alloc_search_parms *parms);
-
 /**
  * Configures the requested element by sending a firmware request which
  * then installs it into the device internal structures.
@@ -416,4 +311,21 @@ int tf_tbl_get(struct tf *tfp,
 int tf_tbl_bulk_get(struct tf *tfp,
                    struct tf_tbl_get_bulk_parms *parms);
 
+/**
+ * Retrieves the allocated resource info
+ *
+ * [in] tfp
+ *   Pointer to TF handle, used for HCAPI communication
+ *
+ * [in] parms
+ *   Pointer to Table resource info parameters
+ *
+ * Returns
+ *   - (0) if successful.
+ *   - (-EINVAL) on failure.
+ */
+int
+tf_tbl_get_resc_info(struct tf *tfp,
+                    struct tf_tbl_resource_info *tbl);
+
 #endif /* TF_TBL_TYPE_H */