{
/* fill Pst structure to send to lwr_mac to MAC */
Pst pst;
- uint16_t ret;
- SlotIndInfo *slotInd;
+ uint16_t ret = 0;
+ SlotIndInfo *slotInd = {0};
MAC_ALLOC_SHRABL_BUF(slotInd, sizeof(SlotIndInfo));
if(slotInd)
slotInd->slot = fapiSlotInd->slot;
FILL_PST_LWR_MAC_TO_MAC(pst, EVENT_SLOT_IND_TO_MAC);
+ pst.selector = ODU_SELECTOR_LWLC;
ret = (*sendSlotIndOpts[pst.selector])(&pst, slotInd);
}
else
{
- printf("\nLWR_MAC: Memory allocation failed in procSlotInd");
+ DU_LOG("\nERROR --> LWR_MAC: Memory allocation failed in procSlotInd");
ret = RFAILED;
}
-
-#ifdef INTEL_WLS_MEM
- slotIndIdx++;
- if(slotIndIdx > WLS_MEM_FREE_PRD)
- {
- slotIndIdx = 1;
- }
- freeWlsBlockList(slotIndIdx - 1);
-#endif
return ret;
}
MAC_ALLOC_SHRABL_BUF(cellId, sizeof(uint16_t));
if(!cellId)
{
- printf("\nLWR_MAC: Memory Allocation failed in procStopInd");
+ DU_LOG("\nERROR --> LWR_MAC: Memory Allocation failed in procStopInd");
return RFAILED;
}
*cellId = lwrMacCb.cellCb[0].cellId;
lwrMacCb.phyState = PHY_STATE_CONFIGURED;
lwrMacCb.cellCb[0].state = PHY_STATE_CONFIGURED;
- DU_LOG("\nLWR_MAC: PHY has moved to configured state");
+ DU_LOG("\nINFO --> LWR_MAC: PHY has moved to configured state");
FILL_PST_LWR_MAC_TO_MAC(pst, EVENT_STOP_IND_TO_MAC);
+ pst.selector = ODU_SELECTOR_LWLC;
return (*sendStopIndOpts[pst.selector])(&pst, cellId);
}
MAC_ALLOC_SHRABL_BUF(rachInd, sizeof(RachInd));
if(!rachInd)
{
- printf("\nLWR_MAC: Memory Allocation failed in procRachInd");
+ DU_LOG("\nERROR --> LWR_MAC : Memory Allocation failed in procRachInd");
return RFAILED;
}
+ if(!fapiRachInd->numPdus)
+ {
+ DU_LOG("\nDEBUG --> LWR_MAC : No PDU in RACH.indication at [%d, %d]", fapiRachInd->sfn, fapiRachInd->slot);
+ return ROK;
+ }
rachInd->cellId = lwrMacCb.cellCb[0].cellId;
rachInd->timingInfo.sfn = fapiRachInd->sfn;
/* Fill post and sent to MAC */
FILL_PST_LWR_MAC_TO_MAC(pst, EVENT_RACH_IND_TO_MAC);
return (*sendRachIndOpts[pst.selector])(&pst, rachInd);
-
}/* handleRachInd */
/*******************************************************************
MAC_ALLOC_SHRABL_BUF(crcInd, sizeof(CrcInd));
if(!crcInd)
{
- printf("\nLWR_MAC: Memory Allocation failed in procCrcInd");
+ DU_LOG("\nERROR --> LWR_MAC : Memory Allocation failed in procCrcInd");
return RFAILED;
}
+ if(!fapiCrcInd->numCrcs)
+ {
+ DU_LOG("\nDEBUG --> LWR_MAC : No CRC PDUs in CRC.indication at [%d, %d]", fapiCrcInd->sfn, fapiCrcInd->slot);
+ return ROK;
+ }
crcInd->cellId = lwrMacCb.cellCb[0].cellId;
crcInd->timingInfo.sfn = fapiCrcInd->sfn;
uint8_t procRxDataInd(fapi_rx_data_indication_t *fapiRxDataInd)
{
Pst pst;
- uint8_t pduIdx;
+ uint8_t pduIdx =0;
RxDataInd *rxDataInd = NULLP;
RxDataIndPdu *pdu = NULLP;
MAC_ALLOC_SHRABL_BUF(rxDataInd, sizeof(RxDataInd));
if(!rxDataInd)
{
- printf("\nLWR_MAC: Memory Allocation failed in procRxDataInd");
+ DU_LOG("\nERROR --> LWR_MAC : Memory Allocation failed in procRxDataInd");
return RFAILED;
}
+ if(!fapiRxDataInd->numPdus)
+ {
+ DU_LOG("\nDEBUG --> LWR_MAC : No PDU in RX_Data.indication at [%d, %d]", fapiRxDataInd->sfn, fapiRxDataInd->slot);
+ return ROK;
+ }
rxDataInd->cellId = lwrMacCb.cellCb[0].cellId;
rxDataInd->timingInfo.sfn = fapiRxDataInd->sfn;
MAC_ALLOC_SHRABL_BUF(macUciInd, sizeof(UciInd));
if(!macUciInd)
{
- printf("\nLWR_MAC: Memory Allocation failed in procUciInd");
+ DU_LOG("\nERROR --> LWR_MAC: Memory Allocation failed in procUciInd");
return RFAILED;
}
+ DU_LOG("\nDEBUG --> LWR_MAC: Processing UCI Indication");
memset(macUciInd, 0, sizeof(UciInd));
macUciInd->cellId = lwrMacCb.cellCb[0].cellId;
macUciInd->slotInd.sfn = fapiUciInd->sfn;
case UCI_IND_PUCCH_F2F3F4:
break;
default:
- DU_LOG("\nLWR_MAC: Invalid Pdu Type %d at procmacUciInd()", macUciInd->pdus[pduIdx].pduType);
+ DU_LOG("\nERROR --> LWR_MAC: Invalid Pdu Type %d at procmacUciInd()", macUciInd->pdus[pduIdx].pduType);
ret = RFAILED;
break;
}
}
else
{
- DU_LOG("\nLWR_MAC: Failed sending UCI Ind to MAC");
+ DU_LOG("\nERROR --> LWR_MAC: Failed sending UCI Ind to MAC");
}
return ret;
}
{
#ifdef INTEL_FAPI
/* extract the header */
- fapi_msg_t *header;
+ fapi_msg_t *header = NULLP;
header = (fapi_msg_t *)msg;
switch(header->msg_id)
{
+#ifdef INTEL_TIMER_MODE
+ case FAPI_VENDOR_EXT_UL_IQ_SAMPLES:
+ {
+ DU_LOG("\nDEBUG --> LWR_MAC: Received FAPI_VENDOR_EXT_UL_IQ_SAMPLES");
+ //send config req
+ uint16_t cellId = 1;
+ sendToLowerMac(CONFIG_REQUEST, 0, (void *)&cellId);
+ break;
+ }
+#endif
case FAPI_PARAM_RESPONSE:
{
sendToLowerMac(PARAM_RESPONSE, msgSize, msg);
{
if(lwrMacCb.phyState == PHY_STATE_CONFIGURED)
{
- DU_LOG("\nLWR_MAC: PHY has moved to running state");
+ DU_LOG("\nINFO --> LWR_MAC: PHY has moved to running state");
lwrMacCb.phyState = PHY_STATE_RUNNING;
lwrMacCb.cellCb[0].state = PHY_STATE_RUNNING;
}
- fapi_slot_ind_t *slotInd;
+ fapi_slot_ind_t *slotInd = NULLP;
slotInd = (fapi_slot_ind_t *)msg;
procSlotInd(slotInd);
break;
}
case FAPI_STOP_INDICATION:
{
- DU_LOG("\nLWR_MAC: Handling Stop Indication");
+ DU_LOG("\nINFO --> LWR_MAC: Handling Stop Indication");
procStopInd();
break;
}