MacCb macCb;
-/* Function pointer for sending crc ind from MAC to SCH */
-MacSchCrcIndFunc macSchCrcIndOpts[]=
-{
- packMacSchCrcInd,
- MacSchCrcInd,
- packMacSchCrcInd
-};
-
-/* Function pointer for sending DL RLC BO Info from MAC to SCH */
-MacSchDlRlcBoInfoFunc macSchDlRlcBoInfoOpts[]=
-{
- packMacSchDlRlcBoInfo,
- MacSchDlRlcBoInfo,
- packMacSchDlRlcBoInfo
-};
-
-/* Function pointer for sending short BSR from MAC to SCH */
-MacSchBsrFunc macSchBsrOpts[]=
-{
- packMacSchBsr,
- MacSchBsr,
- packMacSchBsr
-};
-
-/* Function pointer for sending SR Uci ind from MAC to SCH */
-MacSchSrUciIndFunc macSchSrUciIndOpts[]=
-{
- packMacSchSrUciInd,
- MacSchSrUciInd,
- packMacSchSrUciInd
-};
-
-/* Function pointer for sending DL HARQ Ind from MAC to SCH */
-MacSchDlHarqIndFunc macSchDlHarqIndOpts[]=
-{
- packMacSchDlHarqInd,
- MacSchDlHarqInd,
- packMacSchDlHarqInd
-};
-
-/* Function pointer for sending Slice cfg ind from MAC to SCH */
-MacSchSliceCfgReqFunc macSchSliceCfgReqOpts[]=
-{
- packMacSchSliceCfgReq,
- MacSchSliceCfgReq,
- packMacSchSliceCfgReq
-};
-
-/* Function pointer for sending Slice cfg ind from MAC to SCH */
-MacSchSliceRecfgReqFunc macSchSliceRecfgReqOpts[]=
-{
- packMacSchSliceRecfgReq,
- MacSchSliceRecfgReq,
- packMacSchSliceRecfgReq
-};
/*******************************************************************
*
* @brief Sends DL BO Info to SCH
Pst pst;
FILL_PST_MAC_TO_SCH(pst, EVENT_DL_RLC_BO_INFO_TO_SCH);
- return(*macSchDlRlcBoInfoOpts[pst.selector])(&pst, dlBoInfo);
+ return(SchMessageRouter(&pst, (void *)dlBoInfo));
}
/*******************************************************************
Pst pst;
FILL_PST_MAC_TO_SCH(pst, EVENT_CRC_IND_TO_SCH);
- return(*macSchCrcIndOpts[pst.selector])(&pst, crcInd);
+ return(SchMessageRouter(&pst, (void *)crcInd));
}
/*******************************************************************
* RFAILED - failure
*
* ****************************************************************/
-uint8_t MacProcRlcDlData(Pst* pstInfo, RlcData *dlData)
+uint8_t MacProcRlcDlData(Pst* pstInfo, RlcDlData *dlData)
{
uint8_t pduIdx = 0;
uint8_t ueId = 0;
}
if(pstInfo->selector == ODU_SELECTOR_LWLC)
{
- MAC_FREE_SHRABL_BUF(pstInfo->region, pstInfo->pool, dlData, sizeof(RlcData));
+ MAC_FREE_SHRABL_BUF(pstInfo->region, pstInfo->pool, dlData, sizeof(RlcDlData));
}
return ROK;
}
uint8_t lcId, uint16_t pduLen, uint8_t *pdu)
{
Pst pst;
- RlcData *ulData;
+ RlcUlData *ulData;
/* Filling RLC Ul Data*/
- MAC_ALLOC_SHRABL_BUF(ulData, sizeof(RlcData));
+ MAC_ALLOC_SHRABL_BUF(ulData, sizeof(RlcUlData));
if(!ulData)
{
DU_LOG("\nERROR --> MAC : Memory allocation failed while sending UL data to RLC");
return RFAILED;
}
- memset(ulData, 0, sizeof(RlcData));
+ memset(ulData, 0, sizeof(RlcUlData));
ulData->cellId = cellId;
ulData->rnti = rnti;
memcpy(&ulData->slotInfo, &slotInfo, sizeof(SlotTimingInfo));
ulData->slotInfo.cellId = cellId;
/* Filling pdu info */
- if(lcId != SRB0_LCID)
- ulData->pduInfo[ulData->numPdu].commCh = false;
- else
- ulData->pduInfo[ulData->numPdu].commCh = true;
-
ulData->pduInfo[ulData->numPdu].lcId = lcId;
ulData->pduInfo[ulData->numPdu].pduBuf = pdu;
ulData->pduInfo[ulData->numPdu].pduLen = pduLen;
{
schedRpt->lcSch[lcIdx].lcId = dlInfo.dlMsgAlloc[ueIdx]->dlMsgSchedInfo[schInfoIdx].lcSchInfo[lcIdx].lcId;
schedRpt->lcSch[lcIdx].bufSize = dlInfo.dlMsgAlloc[ueIdx]->dlMsgSchedInfo[schInfoIdx].lcSchInfo[lcIdx].schBytes;
- schedRpt->lcSch[lcIdx].commCh = false;
}
}
bsrInd.dataVolInfo[0].dataVol = bufferSize;
FILL_PST_MAC_TO_SCH(pst, EVENT_SHORT_BSR);
- return(*macSchBsrOpts[pst.selector])(&pst, &bsrInd);
+ return(SchMessageRouter(&pst, (void *)&bsrInd));
}
/*******************************************************************
memcpy(&(bsrInd.dataVolInfo[lcgIdx]), &(dataVolInfo[lcgIdx]), sizeof(DataVolInfo));
FILL_PST_MAC_TO_SCH(pst, EVENT_LONG_BSR);
- return(*macSchBsrOpts[pst.selector])(&pst, &bsrInd);
+ return(SchMessageRouter(&pst, (void *)&bsrInd));
}
/*******************************************************************
/* Fill Pst */
FILL_PST_MAC_TO_SCH(pst, EVENT_DL_HARQ_IND_TO_SCH);
- return(*macSchDlHarqIndOpts[pst.selector])(&pst, &dlHarqInd);
+ return SchMessageRouter(&pst, (void *)&dlHarqInd);
}
/* Fill Pst */
FILL_PST_MAC_TO_SCH(pst, EVENT_UCI_IND_TO_SCH);
- return(*macSchSrUciIndOpts[pst.selector])(&pst, &srUciInd);
+ return(SchMessageRouter(&pst, (void *)&srUciInd));
}
/*******************************************************************
if(fillSliceCfgInfo(schSliceCfgReq, macSliceCfgReq) == ROK)
{
FILL_PST_MAC_TO_SCH(schPst, EVENT_SLICE_CFG_REQ_TO_SCH);
- ret = (*macSchSliceCfgReqOpts[schPst.selector])(&schPst, schSliceCfgReq);
+ ret = SchMessageRouter(&schPst, (void *)schSliceCfgReq);
}
}
freeMacSliceCfgReq(macSliceCfgReq, pst);
if(fillSliceCfgInfo(schSliceRecfgReq, macSliceRecfgReq) == ROK)
{
FILL_PST_MAC_TO_SCH(schPst, EVENT_SLICE_RECFG_REQ_TO_SCH);
- ret = (*macSchSliceRecfgReqOpts[schPst.selector])(&schPst, schSliceRecfgReq);
+ ret = SchMessageRouter(&schPst, (void *)schSliceRecfgReq);
}
}