X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=fapi_5g%2Fsource%2Fframework%2Fwls%2Flib%2Fnr5g_fapi_wls.h;h=c34052cd37bea850addc09093a2e29fc7ae92ced;hb=refs%2Ftags%2Foran_e_maintenance_release_v1.0;hp=1b67be641f28ca13275774476ba2388803faf0aa;hpb=9d66fca5c45c8b3e0d6eab6d51a90c8e9d2614dc;p=o-du%2Fphy.git diff --git a/fapi_5g/source/framework/wls/lib/nr5g_fapi_wls.h b/fapi_5g/source/framework/wls/lib/nr5g_fapi_wls.h index 1b67be6..c34052c 100644 --- a/fapi_5g/source/framework/wls/lib/nr5g_fapi_wls.h +++ b/fapi_5g/source/framework/wls/lib/nr5g_fapi_wls.h @@ -43,8 +43,9 @@ typedef void *WLS_HANDLE; #define MIN_UL_BUF_LOCATIONS (MAX_DL_BUF_LOCATIONS) /* Used for stats collection 0-10 */ #define MAX_UL_BUF_LOCATIONS (MIN_UL_BUF_LOCATIONS + MAX_NUM_LOCATIONS) -#define TO_FREE_SIZE ( 10 ) -#define TOTAL_FREE_BLOCKS ( 50 * FAPI_MAX_PHY_INSTANCES) /* To hold both send and recv blocks on PHY side wls */ +#define TO_FREE_SIZE ( 5 ) +#define TO_FREE_SIZE_URLLC ( MAX_NUM_OF_SYMBOL_PER_SLOT * TO_FREE_SIZE ) // TR 38.912 8.1 mini-slot may be 1 symbol long +#define TOTAL_FREE_BLOCKS ( 100 * FAPI_MAX_PHY_INSTANCES) /* To hold both send and recv blocks on PHY side wls */ #define ALLOC_TRACK_SIZE ( 16384 ) #define MSG_MAXSIZE (16*16384 ) @@ -62,7 +63,8 @@ typedef struct wls_fapi_mem_array { void *pEndOfStorage; uint32_t nBlockSize; uint32_t nBlockCount; -} WLS_FAPI_MEM_STRUCT, *PWLS_FAPI_MEM_STRUCT; +} WLS_FAPI_MEM_STRUCT, +*PWLS_FAPI_MEM_STRUCT; // WLS context structure typedef struct _nr5g_fapi_wls_context { @@ -86,17 +88,21 @@ typedef struct _nr5g_fapi_wls_context { volatile pthread_mutex_t fapi2phy_lock_alloc; volatile pthread_mutex_t fapi2mac_lock_send; volatile pthread_mutex_t fapi2mac_lock_alloc; -} nr5g_fapi_wls_context_t, *p_nr5g_fapi_wls_context_t; +} nr5g_fapi_wls_context_t, +*p_nr5g_fapi_wls_context_t; extern nr5g_fapi_wls_context_t g_wls_ctx; inline p_nr5g_fapi_wls_context_t nr5g_fapi_wls_context( ); +inline uint8_t nr5g_fapi_fapi2phy_wls_ready( + ); +inline uint8_t nr5g_fapi_fapi2mac_wls_ready( + ); uint8_t nr5g_fapi_wls_init( ); -uint8_t nr5g_fapi2Phy_wls_init( - p_nr5g_fapi_wls_context_t p_wls); - +uint8_t nr5g_fapi_wls_memory_init( + ); uint8_t nr5g_fapi_wls_destroy( WLS_HANDLE h_wls); void *wls_fapi_alloc_buffer( @@ -122,28 +128,14 @@ uint64_t nr5g_fapi_wls_va_to_pa( void *nr5g_fapi_wls_pa_to_va( WLS_HANDLE h_wls, uint64_t ptr); -uint8_t wls_fapi_add_blocks_to_ul( +uint32_t wls_fapi_add_blocks_to_ul( void); void nr5g_fapi_wls_show_data( void *ptr, uint32_t size); -int32_t wls_fapi_sdu_zbc_block_add_to_free( - void *pMsgHeaderHead, - int count, - uint64_t * pToFreeList); void wls_fapi_free_list_all( void); void nr5g_fapi_wls_print_stats( void); -void wls_fapi_add_send_apis_to_free( - PMAC2PHY_QUEUE_EL pListElem, - uint32_t idx); -void wls_fapi_free_send_free_list( - uint32_t idx); -void wls_fapi_add_recv_apis_to_free( - PMAC2PHY_QUEUE_EL pListElem, - uint32_t idx); -void wls_fapi_free_recv_free_list( - uint32_t idx); #endif /*_NR5G_FAPI_WLS_H_*/