[Epic-ID: ODUHIGH-475][Task-ID: ODUHIGH-476]Integration fixes upto PRACH scheduling...
[o-du/l2.git] / src / 5gnrmac / lwr_mac_phy.h
index ee1d65f..54ae8db 100644 (file)
@@ -32,8 +32,19 @@ typedef enum
    MSG_TX_ERR
 }ErrorCode;
 
+#ifdef ODU_MEMORY_DEBUG_LOG
+#define WLS_MEM_LOG(_macro, _file, _line, _func, _size, _datPtr)\
+{\
+   printf("\n%s=== %s +%d, %s, %lu, %p",           \
+      _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 WLS_MEM_FREE_PRD       10        /* Free memory after 10 slot ind */
 #define LWR_MAC_WLS_BUF_SIZE   32000      /* Size of WLS memory block */
 #define EVT_START_WLS_RCVR     1
 
@@ -43,7 +54,10 @@ typedef enum
    uint8_t _ret;                                             \
    _ret = SGetSBufWls(0, 0, (Data **)&_datPtr, _size);       \
    if(_ret == ROK)                                           \
-      memset(_datPtr, 0, _size);                      \
+   {\
+      WLS_MEM_LOG("WLSMEM_ALLOC", __FILE__, __LINE__, __FUNCTION__, _size, _datPtr);\
+      memset(_datPtr, 0, _size);                             \
+   }\
    else                                                      \
       _datPtr = NULLP;                                       \
 }                                                              
@@ -51,7 +65,11 @@ 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
 {
@@ -60,8 +78,8 @@ typedef struct wlsBlockToFree
 }WlsBlockToFree;
 
 CmLListCp wlsBlockToFreeList[WLS_MEM_FREE_PRD];
-uint8_t slotIndIdx;
 
+void addWlsBlockToFree(void *msg, uint32_t msgLen, uint8_t idx);
 void freeWlsBlockList(uint8_t idx);
 void LwrMacEnqueueWlsBlock();
 void LwrMacRecvPhyMsg();