X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Flwr_mac_phy.h;h=5d4192edc4d18bbae3baa9a53b14a9bd5ed99dc6;hb=531da47c7bfb6ce138a454f66eb184729860beef;hp=cf6d51fba7bdb3e7a07c0b9d614693be0996c706;hpb=aee73991f728cc127d1ed76d5a52571d916235a4;p=o-du%2Fl2.git diff --git a/src/5gnrmac/lwr_mac_phy.h b/src/5gnrmac/lwr_mac_phy.h index cf6d51fba..5d4192edc 100644 --- a/src/5gnrmac/lwr_mac_phy.h +++ b/src/5gnrmac/lwr_mac_phy.h @@ -32,17 +32,32 @@ typedef enum MSG_TX_ERR }ErrorCode; -#ifdef INTEL_WLS -#define WLS_MEM_FREE_PRD 10 /* Free memory after 10 slot ind */ -#define LWR_MAC_WLS_BUF_SIZE 8192 /* Size of WLS memory block */ +#ifdef ODU_MEMORY_DEBUG_LOG +#define WLS_MEM_LOG(_macro, _file, _line, _func, _size, _datPtr)\ +{\ + printf("\n%s=== %s +%d, %s, %lu, %p \n", \ + _macro, _file, _line, _func, (uint64_t)_size, _datPtr); \ +} +#else +#define WLS_MEM_LOG(_macro, _file, _line, _func, _size, _datPtr) \ +{\ +} +#endif + +#ifdef INTEL_WLS_MEM +#define LWR_MAC_WLS_BUF_SIZE 32000 /* Size of WLS memory block */ +#define EVT_START_WLS_RCVR 1 /* allocate static buffer from WLS memory */ #define WLS_MEM_ALLOC(_datPtr, _size) \ { \ - int16_t _ret; \ + uint8_t _ret; \ _ret = SGetSBufWls(0, 0, (Data **)&_datPtr, _size); \ if(_ret == ROK) \ - memset((U8*)_datPtr, 0, _size); \ + {\ + WLS_MEM_LOG("WLSMEM_ALLOC", __FILE__, __LINE__, __FUNCTION__, _size, _datPtr);\ + memset(_datPtr, 0, _size); \ + }\ else \ _datPtr = NULLP; \ } @@ -50,22 +65,28 @@ typedef enum /* free a static buffer from WLS memory*/ #define WLS_MEM_FREE(_datPtr, _size) \ if(_datPtr) \ - SPutSBufWls(0, 0, (Data *)_datPtr, _size); + { \ + WLS_MEM_LOG("WLSMEM_FREE", __FILE__, __LINE__, __FUNCTION__, _size, _datPtr);\ + SPutSBufWls(0, 0, (Data *)_datPtr, _size); \ + _datPtr = NULLP; \ + } typedef struct wlsBlockToFree { - void *ptr; + void *ptr; uint32_t size; }WlsBlockToFree; CmLListCp wlsBlockToFreeList[WLS_MEM_FREE_PRD]; -extern uint8_t slotIndIdx; -EXTERN void freeWlsBlockList(uint8_t idx); -EXTERN void LwrMacEnqueueWlsBlock(); -#endif /* INTEL_WLS */ +void addWlsBlockToFree(void *msg, uint32_t msgLen, uint8_t idx); +void freeWlsBlockList(uint8_t idx); +void LwrMacEnqueueWlsBlock(); +void LwrMacRecvPhyMsg(); +void LwrMacStartWlsRcvr(); +#endif /* INTEL_WLS_MEM */ -EXTERN uint16_t LwrMacSendToPhy(uint8_t msgType, uint32_t msgLen, void *msg); +uint8_t LwrMacSendToL1(void *msg); #endif /**********************************************************************