#include "mac.h"
#include "mac_utils.h"
-MacDuUeCfgRspFunc macDuUeCfgRspOpts[] =
+MacDuUeCreateRspFunc macDuUeCreateRspOpts[] =
{
- packDuMacUeCfgRsp, /* packing for loosely coupled */
- DuProcMacUeCfgRsp, /* packing for tightly coupled */
- packDuMacUeCfgRsp /* packing for light weight loosly coupled */
+ packDuMacUeCreateRsp, /* packing for loosely coupled */
+ DuProcMacUeCreateRsp, /* packing for tightly coupled */
+ packDuMacUeCreateRsp /* packing for light weight loosly coupled */
};
MacDuUeRecfgRspFunc macDuUeRecfgRspOpts[] =
macPdcchCfg.searchSpcToAddModList[idx].searchSpaceId;
schPdcchCfg->searchSpcToAddModList[idx].cRSetId = \
macPdcchCfg.searchSpcToAddModList[idx].cRSetId;
- schPdcchCfg->searchSpcToAddModList[idx].mSlotPeriodicityAndOffset = \
- macPdcchCfg.searchSpcToAddModList[idx].mSlotPeriodicityAndOffset;
+ schPdcchCfg->searchSpcToAddModList[idx].mSlotPeriodicityAndOffset.mSlotPeriodicity = \
+ macPdcchCfg.searchSpcToAddModList[idx].mSlotPeriodicityAndOffset.mSlotPeriodicity;
+ schPdcchCfg->searchSpcToAddModList[idx].mSlotPeriodicityAndOffset.mSlotOffset =
+ macPdcchCfg.searchSpcToAddModList[idx].mSlotPeriodicityAndOffset.mSlotOffset;
memcpy(&schPdcchCfg->searchSpcToAddModList[idx].mSymbolsWithinSlot,
&macPdcchCfg.searchSpcToAddModList[idx].mSymbolsWithinSlot, \
MONITORING_SYMB_WITHIN_SLOT_SIZE);
*
* ****************************************************************/
-uint8_t fillSchLcCfgList(SchUeCfgReq *schUeCfg, MacUeCfg *ueCfg)
+uint8_t fillSchLcCfgList(SchUeCfgReq *schUeCfg, MacUeCreateReq *ueCfg)
{
uint8_t lcIdx;
* RFAILED - failure
*
* ****************************************************************/
-uint8_t fillSchUeCfg(SchUeCfgReq *schUeCfg, MacUeCfg *ueCfg)
+uint8_t fillSchUeCfg(SchUeCfgReq *schUeCfg, MacUeCreateReq *ueCfg)
{
uint8_t ret = ROK;
schUeCfg->cellId = ueCfg->cellId;
- schUeCfg->ueId = ueCfg->ueId;
schUeCfg->crnti = ueCfg->crnti;
/* Copy MAC cell group config */
if(ueCfg->macCellGrpCfgPres == true)
uint8_t ret = ROK;
schUeRecfg->cellId = ueRecfg->cellId;
- schUeRecfg->ueId = ueRecfg->ueId;
schUeRecfg->crnti = ueRecfg->crnti;
schUeRecfg->dataTransmissionInfo = ueRecfg->transmissionAction;
/* Copy MAC cell group config */
*
* ****************************************************************/
-uint8_t fillMacLcCfgList(MacUeCb *ueCb, MacUeCfg *ueCfg)
+uint8_t fillMacLcCfgList(MacUeCb *ueCb, MacUeCreateReq *ueCfg)
{
uint8_t lcIdx = 0;
*
* ****************************************************************/
-uint8_t fillMacUeCb(MacUeCb *ueCb, MacUeCfg *ueCfg, uint8_t cellIdx)
+uint8_t fillMacUeCb(MacUeCb *ueCb, MacUeCreateReq *ueCfg, uint8_t cellIdx)
{
uint8_t ret = ROK;
* RFAILED - failure
*
* ****************************************************************/
-uint8_t createUeCb(uint8_t cellIdx, MacUeCb *ueCb, MacUeCfg *ueCfg)
+uint8_t createUeCb(uint8_t cellIdx, MacUeCb *ueCb, MacUeCreateReq *ueCfg)
{
uint8_t ret = ROK;
uint8_t hqProcIdx = 0;
*
* ****************************************************************/
-uint8_t procMacUeCfgData(Pst *pst, MacUeCfg *ueCfg, MacUeRecfg *ueRecfg)
+uint8_t procMacUeCfgData(Pst *pst, MacUeCreateReq *ueCfg, MacUeRecfg *ueRecfg)
{
uint8_t ret = ROK, ueId = 0;
uint16_t cellIdx, cellId;
*
* Functionality: Function to store the UeCfg Data
*
- * @params[in] MacUeCfg pointer
+ * @params[in] MacUeCreateReq pointer
* @return ROK - success
* RFAILED - failure
*
* ****************************************************************/
-uint8_t copyToTmpData(MacUeCfg *ueCfg, MacUeRecfg *ueRecfg)
+uint8_t copyToTmpData(MacUeCreateReq *ueCfg, MacUeRecfg *ueRecfg)
{
uint8_t cellIdx;
if(ueCfg != NULLP)
{
- MacUeCfg *tmpData = NULLP;
+ MacUeCreateReq *tmpData = NULLP;
- MAC_ALLOC(tmpData, sizeof(MacUeCfg));
+ MAC_ALLOC(tmpData, sizeof(MacUeCreateReq));
if(!tmpData)
{
DU_LOG("\nERROR --> MAC: Memory Alloc Failed at copyToTmpData()");
return RFAILED;
}
- memcpy(tmpData, ueCfg, sizeof(MacUeCfg));
+ memcpy(tmpData, ueCfg, sizeof(MacUeCreateReq));
GET_CELL_IDX(ueCfg->cellId, cellIdx);
macCb.macCell[cellIdx]->ueCfgTmpData[ueCfg->ueId-1] = tmpData;
}
* RFAILED - failure
*
* ****************************************************************/
-uint8_t MacProcUeCreateReq(Pst *pst, MacUeCfg *ueCfg)
+uint8_t MacProcUeCreateReq(Pst *pst, MacUeCreateReq *ueCfg)
{
uint8_t ret = ROK;
SchUeCfgReq schUeCfg;
ret = RFAILED;
}
/* FREE shared memory */
- MAC_FREE_SHRABL_BUF(pst->region, pst->pool, ueCfg, sizeof(MacUeCfg));
+ MAC_FREE_SHRABL_BUF(pst->region, pst->pool, ueCfg, sizeof(MacUeCreateReq));
return ret;
}
* ****************************************************************/
uint8_t MacSendUeCreateRsp(MacRsp result, SchUeCfgRsp *schCfgRsp)
{
- MacUeCfgRsp *cfgRsp;
+ MacUeCreateRsp *cfgRsp;
Pst rspPst;
- MAC_ALLOC_SHRABL_BUF(cfgRsp, sizeof(MacUeCfgRsp));
+ MAC_ALLOC_SHRABL_BUF(cfgRsp, sizeof(MacUeCreateRsp));
if(!cfgRsp)
{
DU_LOG("\nERROR --> MAC: Memory allocation for UE config response failed");
}
/* Filling UE Config response */
- memset(cfgRsp, 0, sizeof(MacUeCfgRsp));
+ memset(cfgRsp, 0, sizeof(MacUeCreateRsp));
cfgRsp->cellId = schCfgRsp->cellId;
- cfgRsp->ueId = schCfgRsp->ueId;
+ GET_UE_ID(schCfgRsp->crnti, cfgRsp->ueId);
cfgRsp->result = result;
/* Fill Post structure and send UE Create response*/
memset(&rspPst, 0, sizeof(Pst));
FILL_PST_MAC_TO_DUAPP(rspPst, EVENT_MAC_UE_CREATE_RSP);
- return (*macDuUeCfgRspOpts[rspPst.selector])(&rspPst, cfgRsp);
+ return (*macDuUeCreateRspOpts[rspPst.selector])(&rspPst, cfgRsp);
}
/*******************************************************************
/* Filling UE Config response */
memset(recfgRsp, 0, sizeof(MacUeRecfgRsp));
recfgRsp->cellId = schCfgRsp->cellId;
- recfgRsp->ueId = schCfgRsp->ueId;
+ GET_UE_ID(schCfgRsp->crnti, recfgRsp->ueId);
recfgRsp->result = result;
/* Fill Post structure and send UE Create response*/
*
* @params[in] cellIdx, ueId
*
- * @return MacUeCfg pointer - success
+ * @return MacUeCreateReq pointer - success
* NULLP - failure
*
* ****************************************************************/
-MacUeCfg *getMacUeCfg(uint16_t cellIdx, uint8_t ueId)
+MacUeCreateReq *getMacUeCfg(uint16_t cellIdx, uint8_t ueId)
{
- MacUeCfg *ueCfg = NULLP;
+ MacUeCreateReq *ueCfg = NULLP;
if(macCb.macCell[cellIdx])
{
ueCfg = macCb.macCell[cellIdx]->ueCfgTmpData[ueId-1];
{
uint8_t result = MAC_DU_APP_RSP_NOK;
uint8_t ret = ROK;
- uint16_t cellIdx;
- MacUeCfg *ueCfg = NULLP;
+ uint16_t cellIdx = 0, ueId = 0;
+ MacUeCreateReq *ueCfg = NULLP;
#ifdef CALL_FLOW_DEBUG_LOG
switch(pst->event)
#endif
GET_CELL_IDX(schCfgRsp->cellId, cellIdx);
- ueCfg = getMacUeCfg(cellIdx, schCfgRsp->ueId);
+ GET_UE_ID(schCfgRsp->crnti, ueId);
+ ueCfg = getMacUeCfg(cellIdx, ueId);
if(ueCfg == NULLP)
{
DU_LOG("\nERROR --> MAC : Failed to find the Mac Ue Cfg for event [%d] in MacProcSchUeCfgRsp()", pst->event);
DU_LOG("\nERROR --> MAC: SCH UeConfigRsp for CRNTI[%d] is failed in MacProcSchUeCfgRsp()", schCfgRsp->crnti);
}
ret = MacSendUeCreateRsp(result, schCfgRsp);
- MAC_FREE(ueCfg, sizeof(MacUeCfg));
+ MAC_FREE(ueCfg, sizeof(MacUeCreateReq));
ueCfg = NULLP;
return ret;
}
{
uint8_t result = MAC_DU_APP_RSP_NOK;
uint8_t ret = ROK;
- uint16_t cellIdx;
+ uint16_t cellIdx = 0, ueId = 0;
MacUeRecfg *ueRecfg = NULLP;
#ifdef CALL_FLOW_DEBUG_LOG
#endif
GET_CELL_IDX(schRecfgRsp->cellId, cellIdx);
- ueRecfg = getMacUeRecfg(cellIdx, schRecfgRsp->ueId);
+ GET_UE_ID(schRecfgRsp->crnti, ueId);
+ ueRecfg = getMacUeRecfg(cellIdx, ueId);
if(ueRecfg == NULLP)
{
DU_LOG("\nERROR --> MAC : Failed to find the Mac Ue Cfg for event [%d] in MacProcSchUeCfgRsp()", pst->event);