X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fbnxt%2Ftf_core%2Ftf_em.h;h=23591272bd33d4dbb39afb27aa61572332a48bd0;hb=0475c7770502cb4166b2577df3ff446af9d85515;hp=39a216341b33e2aa93aa9c447261c750a3223904;hpb=f000d3dcd57ce07de5f4b11bedd795a5a24bfab7;p=dpdk.git diff --git a/drivers/net/bnxt/tf_core/tf_em.h b/drivers/net/bnxt/tf_core/tf_em.h index 39a216341b..23591272bd 100644 --- a/drivers/net/bnxt/tf_core/tf_em.h +++ b/drivers/net/bnxt/tf_core/tf_em.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2019-2020 Broadcom + * Copyright(c) 2019-2021 Broadcom * All rights reserved. */ @@ -9,13 +9,11 @@ #include "tf_core.h" #include "tf_session.h" -#define SUPPORT_CFA_HW_P4 1 -#define SUPPORT_CFA_HW_P58 0 -#define SUPPORT_CFA_HW_P59 0 -#define SUPPORT_CFA_HW_ALL 0 - #include "hcapi/hcapi_cfa_defs.h" +#define TF_EM_MIN_ENTRIES (1 << 15) /* 32K */ +#define TF_EM_MAX_ENTRIES (1 << 27) /* 128M */ + #define TF_HW_EM_KEY_MAX_SIZE 52 #define TF_EM_KEY_RECORD_SIZE 64 @@ -69,6 +67,9 @@ #error "Invalid Page Size specified. Please use a TF_EM_PAGE_SIZE_n define" #endif +/* + * System memory always uses 4K pages + */ #define TF_EM_PAGE_SIZE (1 << TF_EM_PAGE_SHIFT) #define TF_EM_PAGE_ALIGNMENT (1 << TF_EM_PAGE_SHIFT) @@ -155,52 +156,15 @@ struct tf_em_cfg_parms { * * @ref tf_em_ext_common_unbind * - * @ref tf_em_ext_host_alloc - * - * @ref tf_em_ext_host_free + * @ref tf_em_ext_alloc * - * @ref tf_em_ext_system_alloc - * - * @ref tf_em_ext_system_free + * @ref tf_em_ext_free * * @ref tf_em_ext_common_free * * @ref tf_em_ext_common_alloc */ -/** - * Allocates EEM Table scope - * - * [in] tfp - * Pointer to TruFlow handle - * - * [in] parms - * Pointer to input parameters - * - * Returns: - * 0 - Success - * -EINVAL - Parameter error - * -ENOMEM - Out of memory - */ -int tf_alloc_eem_tbl_scope(struct tf *tfp, - struct tf_alloc_tbl_scope_parms *parms); - -/** - * Free's EEM Table scope control block - * - * [in] tfp - * Pointer to TruFlow handle - * - * [in] parms - * Pointer to input parameters - * - * Returns: - * 0 - Success - * -EINVAL - Parameter error - */ -int tf_free_eem_tbl_scope_cb(struct tf *tfp, - struct tf_free_tbl_scope_parms *parms); - /** * Insert record in to internal EM table * @@ -374,8 +338,8 @@ int tf_em_ext_common_unbind(struct tf *tfp); * 0 - Success * -EINVAL - Parameter error */ -int tf_em_ext_host_alloc(struct tf *tfp, - struct tf_alloc_tbl_scope_parms *parms); +int tf_em_ext_alloc(struct tf *tfp, + struct tf_alloc_tbl_scope_parms *parms); /** * Free for external EEM using host memory @@ -390,27 +354,11 @@ int tf_em_ext_host_alloc(struct tf *tfp, * 0 - Success * -EINVAL - Parameter error */ -int tf_em_ext_host_free(struct tf *tfp, - struct tf_free_tbl_scope_parms *parms); - -/** - * Alloc for external EEM using system memory - * - * [in] tfp - * Pointer to TruFlow handle - * - * [in] parms - * Pointer to input parameters - * - * Returns: - * 0 - Success - * -EINVAL - Parameter error - */ -int tf_em_ext_system_alloc(struct tf *tfp, - struct tf_alloc_tbl_scope_parms *parms); +int tf_em_ext_free(struct tf *tfp, + struct tf_free_tbl_scope_parms *parms); /** - * Free for external EEM using system memory + * Common free table scope for external EEM using host or system memory * * [in] tfp * Pointer to TruFlow handle @@ -422,11 +370,11 @@ int tf_em_ext_system_alloc(struct tf *tfp, * 0 - Success * -EINVAL - Parameter error */ -int tf_em_ext_system_free(struct tf *tfp, +int tf_em_ext_common_free(struct tf *tfp, struct tf_free_tbl_scope_parms *parms); /** - * Common free for external EEM using host or system memory + * Common alloc table scope for external EEM using host or system memory * * [in] tfp * Pointer to TruFlow handle @@ -438,11 +386,10 @@ int tf_em_ext_system_free(struct tf *tfp, * 0 - Success * -EINVAL - Parameter error */ -int tf_em_ext_common_free(struct tf *tfp, - struct tf_free_tbl_scope_parms *parms); - +int tf_em_ext_common_alloc(struct tf *tfp, + struct tf_alloc_tbl_scope_parms *parms); /** - * Common alloc for external EEM using host or system memory + * Map a set of parifs to a set of EEM base addresses (table scope) * * [in] tfp * Pointer to TruFlow handle @@ -454,8 +401,8 @@ int tf_em_ext_common_free(struct tf *tfp, * 0 - Success * -EINVAL - Parameter error */ -int tf_em_ext_common_alloc(struct tf *tfp, - struct tf_alloc_tbl_scope_parms *parms); +int tf_em_ext_map_tbl_scope(struct tf *tfp, + struct tf_map_tbl_scope_parms *parms); /** * Allocate External Tbl entry from the scope pool. @@ -510,8 +457,8 @@ tf_tbl_ext_free(struct tf *tfp, * - (0) if successful. * - (-EINVAL) on failure. */ -int tf_tbl_ext_set(struct tf *tfp, - struct tf_tbl_set_parms *parms); +int tf_tbl_ext_common_set(struct tf *tfp, + struct tf_tbl_set_parms *parms); /** * Sets the specified external table type element. @@ -529,26 +476,12 @@ int tf_tbl_ext_set(struct tf *tfp, * - (0) if successful. * - (-EINVAL) on failure. */ -int tf_tbl_ext_host_set(struct tf *tfp, - struct tf_tbl_set_parms *parms); +int tf_tbl_ext_set(struct tf *tfp, + struct tf_tbl_set_parms *parms); -/** - * Sets the specified external table type element. - * - * This API sets the specified element data by invoking the - * firmware. - * - * [in] tfp - * Pointer to TF handle - * - * [in] parms - * Pointer to table set parameters - * - * Returns - * - (0) if successful. - * - (-EINVAL) on failure. - */ -int tf_tbl_ext_system_set(struct tf *tfp, - struct tf_tbl_set_parms *parms); +int +tf_em_ext_system_bind(struct tf *tfp, + struct tf_em_cfg_parms *parms); +int offload_system_mmap(struct tf_tbl_scope_cb *tbl_scope_cb); #endif /* _TF_EM_H_ */