wlan: add MTRACE to record caching of frames in TL

Excessive caching of frames in TL can lead to low
resource in RX Path. Add MTRACE to log the caching
path to help in debugging.

Change-Id: Id59d6eda43538fe95e1a59ac9a3e5fb9e64257f8
CRs-Fixed: 647235
diff --git a/CORE/TL/inc/wlan_qct_tl_trace.h b/CORE/TL/inc/wlan_qct_tl_trace.h
index 7ca6b21..066db2d 100644
--- a/CORE/TL/inc/wlan_qct_tl_trace.h
+++ b/CORE/TL/inc/wlan_qct_tl_trace.h
@@ -39,7 +39,7 @@
 
 #define NO_SESSION 0xFF
 
-enum {
+typedef enum {
     TRACE_CODE_TL_STA_STATE,
     TRACE_CODE_TL_EAPOL_PKT_PENDING,
     TRACE_CODE_TL_GET_FRAMES_EAPOL,
@@ -51,7 +51,11 @@
     TRACE_CODE_TL_QUEUE_CURRENT,
     TRACE_CODE_TL_REORDER_TIMER_EXP_CB,
     TRACE_CODE_TL_BA_SESSION_DEL,
-};
+    TRACE_CODE_TL_ASSOC_FAILED,
+    TRACE_CODE_TL_FORWARD_CACHED_FRAMES,
+    TRACE_CODE_TL_FLUSH_CACHED_FRAMES,
+    TRACE_CODE_TL_CACHE_FRAME,
+}WLANTL_TraceCode;
 
 void tlTraceDump(void *pMac, tpvosTraceRecord pRecord, tANI_U16 recIndex);
 void tlTraceInit(void);
diff --git a/CORE/TL/src/wlan_qct_tl.c b/CORE/TL/src/wlan_qct_tl.c
index 402644d..cffc7f5 100644
--- a/CORE/TL/src/wlan_qct_tl.c
+++ b/CORE/TL/src/wlan_qct_tl.c
@@ -1025,6 +1025,9 @@
   // if the STA exist, the frames will be forwarded
   // and if it doesn't exist, the frames will be flushed
   // in this case we know it won't exist so the DPU index signature values don't matter
+  MTRACE(vos_trace(VOS_MODULE_ID_TL, TRACE_CODE_TL_ASSOC_FAILED,
+                                                staId, 0));
+
   if(!VOS_IS_STATUS_SUCCESS(WLANTL_StartForwarding(staId,0,0)))
   {
     VOS_TRACE(VOS_MODULE_ID_TL, VOS_TRACE_LEVEL_ERROR,
@@ -4738,6 +4741,9 @@
               pClientSTA->tlCacheInfo.cacheInitTime;
       pClientSTA->tlCacheInfo.cacheSize = 1;
 
+      MTRACE(vos_trace(VOS_MODULE_ID_TL, TRACE_CODE_TL_CACHE_FRAME,
+                       ucSTAId, pClientSTA->tlCacheInfo.cacheSize));
+
     }
     else
     {
@@ -4753,6 +4759,8 @@
         VOS_TRACE(VOS_MODULE_ID_TL, VOS_TRACE_LEVEL_ERROR,
                   "%s: Cache High watermark for staid:%d (%d)",
                   __func__,ucSTAId, pClientSTA->tlCacheInfo.cacheSize);
+        MTRACE(vos_trace(VOS_MODULE_ID_TL, TRACE_CODE_TL_CACHE_FRAME,
+                         ucSTAId, pClientSTA->tlCacheInfo.cacheSize));
       }
     }
     pClientSTA->vosEndCachedFrame = vosTempBuff;
@@ -4894,6 +4902,8 @@
   {
     TLLOG2(VOS_TRACE( VOS_MODULE_ID_TL, VOS_TRACE_LEVEL_INFO_HIGH,
        "WLAN TL:Station has been deleted for STA %d - flushing cache", ucSTAId));
+    MTRACE(vos_trace(VOS_MODULE_ID_TL, TRACE_CODE_TL_FLUSH_CACHED_FRAMES,
+                     ucSTAId, pClientSTA->tlCacheInfo.cacheSize));
     WLANTL_FlushCachedFrames(pClientSTA->vosBegCachedFrame);
     goto done; 
   }
@@ -6006,6 +6016,18 @@
     return VOS_STATUS_E_INVAL;
   }
 
+  pClientSTA = pTLCb->atlSTAClients[ucSTAId];
+
+  if ( NULL == pClientSTA )
+  {
+    TLLOGE(VOS_TRACE( VOS_MODULE_ID_TL, VOS_TRACE_LEVEL_ERROR,
+        "WLAN TL:Client Memory was not allocated on %s", __func__));
+    return VOS_STATUS_E_FAILURE;
+  }
+
+  MTRACE(vos_trace(VOS_MODULE_ID_TL, TRACE_CODE_TL_FORWARD_CACHED_FRAMES,
+                   ucSTAId, 1<<16 | pClientSTA->tlCacheInfo.cacheSize));
+
   /*---------------------------------------------------------------------
     Save the initial buffer - this is the first received buffer
    ---------------------------------------------------------------------*/