X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Flwr_mac_phy.c;h=794346747dd166456bc14571ddebba4a0f0596a6;hb=45d134510deb6902b870b4a0fb574b6075fba601;hp=b604747b81db88015f993d925246d54df53028fa;hpb=392607b7a8cbf1b7415b15517275dd1ef4e897a9;p=o-du%2Fl2.git diff --git a/src/5gnrmac/lwr_mac_phy.c b/src/5gnrmac/lwr_mac_phy.c index b604747b8..794346747 100644 --- a/src/5gnrmac/lwr_mac_phy.c +++ b/src/5gnrmac/lwr_mac_phy.c @@ -19,15 +19,21 @@ /* This file contains APIs to send/receive messages from PHY */ #include "common_def.h" -#include "rg.h" +#include "lrg.h" +#include "lrg.x" +#include "du_app_mac_inf.h" +#include "mac_sch_interface.h" +#include "lwr_mac_upr_inf.h" +#include "mac.h" #include "lwr_mac_phy.h" #include "lwr_mac_fsm.h" +#include "mac_utils.h" #ifdef INTEL_WLS #include "wls_lib.h" #endif -EXTERN S16 rgClHndlCfgReq ARGS((void *msg)); +EXTERN uint8_t rgClHndlCfgReq ARGS((void *msg)); EXTERN void l1ProcessFapiRequest ARGS((uint8_t msgType, uint32_t msgLen, void *msg)); #ifdef INTEL_WLS @@ -53,23 +59,23 @@ void LwrMacEnqueueWlsBlock() void *wlsHdlr; WLS_MEM_ALLOC(memPtr, LWR_MAC_WLS_BUF_SIZE); - + if(memPtr) { wlsHdlr = mtGetWlsHdl(); - + /* allocate blocks for UL transmittion */ while(WLS_EnqueueBlock(wlsHdlr, WLS_VA2PA(wlsHdlr, memPtr))) { - WLS_MEM_ALLOC(memPtr, LWR_MAC_WLS_BUF_SIZE); - if(!memPtr) - break; + WLS_MEM_ALLOC(memPtr, LWR_MAC_WLS_BUF_SIZE); + if(!memPtr) + break; } - + // free not enqueued block if(memPtr) { - WLS_MEM_FREE(memPtr, LWR_MAC_WLS_BUF_SIZE); + WLS_MEM_FREE(memPtr, LWR_MAC_WLS_BUF_SIZE); } } }/* LwrMacEnqueueWlsBlock */ @@ -94,7 +100,7 @@ uint16_t enqueueNBlocks(uint32_t numBlocks) { void *memPtr; void *wlsHdlr; /* WLS handler */ - + wlsHdlr = mtGetWlsHdl(); while(numBlocks) { @@ -104,10 +110,10 @@ uint16_t enqueueNBlocks(uint32_t numBlocks) WLS_MEM_ALLOC(memPtr, LWR_MAC_WLS_BUF_SIZE); if(memPtr) { - WLS_EnqueueBlock(wlsHdlr, WLS_VA2PA(wlsHdlr, memPtr)); + WLS_EnqueueBlock(wlsHdlr, WLS_VA2PA(wlsHdlr, memPtr)); } } - RETVALUE(ROK); + return ROK; }/* enqueueNBlocks */ /******************************************************************* @@ -136,11 +142,11 @@ void addWlsBlockToFree(void *msg, uint32_t msgLen, uint8_t idx) MAC_ALLOC(node, sizeof(CmLList)); if(node) { - block->ptr = msg; - block->size = msgLen; + block->ptr = msg; + block->size = msgLen; - node->node = (PTR)block; - cmLListAdd2Tail(&wlsBlockToFreeList[idx], node); + node->node = (PTR)block; + cmLListAdd2Tail(&wlsBlockToFreeList[idx], node); } } }/* addWlsBlockToFree */ @@ -154,13 +160,13 @@ void freeWlsBlockList(uint8_t idx) CM_LLIST_FIRST_NODE(&wlsBlockToFreeList[idx], node); while(node) { - block = (WlsBlockToFree *)node->node; - cmLListDelFrm(&wlsBlockToFreeList[idx], node); - WLS_MEM_FREE(block->ptr, block->size); - MAC_FREE(block, sizeof(WlsBlockToFree)); - MAC_FREE(node, sizeof(CmLList)); - node = NULL; - CM_LLIST_FIRST_NODE(&wlsBlockToFreeList[idx], node); + block = (WlsBlockToFree *)node->node; + cmLListDelFrm(&wlsBlockToFreeList[idx], node); + WLS_MEM_FREE(block->ptr, block->size); + MAC_FREE(block, sizeof(WlsBlockToFree)); + MAC_FREE(node, sizeof(CmLList)); + node = NULL; + CM_LLIST_FIRST_NODE(&wlsBlockToFreeList[idx], node); } } } @@ -194,24 +200,24 @@ void LwrMacRecvPhyMsg() if(WLS_Ready(wlsHdlr)) { numToGet = WLS_Wait(wlsHdlr); - + numL1Msg = numToGet; while(numToGet) { - l1Msg = (uint64_t) NULL; - l1Msg = WLS_Get(wlsHdlr, &msgSize, &msgType, &flag); - if(l1Msg) - { - l1MsgPtr = WLS_PA2VA(wlsHdlr, l1Msg); - handlePhyMessages(msgType, msgSize, l1MsgPtr); - } - numToGet--; + l1Msg = (uint64_t) NULL; + l1Msg = WLS_Get(wlsHdlr, &msgSize, &msgType, &flag); + if(l1Msg) + { + l1MsgPtr = WLS_PA2VA(wlsHdlr, l1Msg); + handlePhyMessages(msgType, msgSize, l1MsgPtr); + } + numToGet--; } - + if(numL1Msg) { - enqueueNBlocks(numL1Msg); + enqueueNBlocks(numL1Msg); } } @@ -242,14 +248,14 @@ PUBLIC uint16_t LwrMacSendToPhy(uint8_t msgType, uint32_t msgLen, void *msg) #ifdef INTEL_WLS int ret; unsigned long long pMsg; - + pMsg = WLS_VA2PA(mtGetWlsHdl(), msg); ret = WLS_Put(mtGetWlsHdl(), pMsg, msgLen, msgType, 0); if(ret != 0) { printf("\nFailure in sending message to PHY"); - WLS_MEM_FREE(msg, msgLen); + WLS_MEM_FREE(msg, msgLen); return RFAILED; } else @@ -263,5 +269,5 @@ PUBLIC uint16_t LwrMacSendToPhy(uint8_t msgType, uint32_t msgLen, void *msg) } /* LwrMacSendToPhy */ /********************************************************************** - End of file -**********************************************************************/ + End of file + **********************************************************************/