uint16_t cellIdx =0;
uint32_t msgLen = 0;
uint32_t mib = 0;
+ uint32_t dlFreq = 0, ulFreq = 0;
MacCellCfg macCfgParams;
fapi_vendor_msg_t *vendorMsg;
fapi_config_req_t *configReq;
fillTlvs(&configReq->tlvs[index++], FAPI_DL_BANDWIDTH_TAG, \
sizeof(uint32_t), macCfgParams.carrCfg.dlBw, &msgLen);
+ dlFreq = convertArfcnToFreqKhz(macCfgParams.carrCfg.arfcnDL);
fillTlvs(&configReq->tlvs[index++], FAPI_DL_FREQUENCY_TAG, \
- sizeof(uint32_t), macCfgParams.carrCfg.dlFreq, &msgLen);
+ sizeof(uint32_t), dlFreq, &msgLen);
/* Due to bug in Intel FT code, commenting TLVs that are are not
* needed to avoid error. Must be uncommented when FT bug is fixed */
//fillTlvs(&configReq->tlvs[index++], FAPI_DL_K0_TAG, \
sizeof(uint16_t), macCfgParams.carrCfg.numTxAnt, &msgLen);
fillTlvs(&configReq->tlvs[index++], FAPI_UPLINK_BANDWIDTH_TAG, \
sizeof(uint32_t), macCfgParams.carrCfg.ulBw, &msgLen);
+ ulFreq = convertArfcnToFreqKhz(macCfgParams.carrCfg.arfcnUL);
fillTlvs(&configReq->tlvs[index++], FAPI_UPLINK_FREQUENCY_TAG, \
- sizeof(uint32_t), macCfgParams.carrCfg.ulFreq, &msgLen);
+ sizeof(uint32_t), ulFreq, &msgLen);
//fillTlvs(&configReq->tlvs[index++], FAPI_UL_K0_TAG, \
sizeof(uint16_t), macCfgParams.ulCarrCfg.k0[0], &msgLen);
//fillTlvs(&configReq->tlvs[index++], FAPI_UL_GRID_SIZE_TAG, \
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 */
/* Filling UE Config response */
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*/
/* 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*/
{
uint8_t result = MAC_DU_APP_RSP_NOK;
uint8_t ret = ROK;
- uint16_t cellIdx;
+ uint16_t cellIdx = 0, ueId = 0;
MacUeCreateReq *ueCfg = NULLP;
#ifdef CALL_FLOW_DEBUG_LOG
#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);
{
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);
Pst rspPst;
cfgRsp->cellId = ueCfg->cellId;
- cfgRsp->ueId = ueCfg->ueId;
cfgRsp->crnti = ueCfg->crnti;
cfgRsp->rsp = result;
Pst rspPst;
reCfgRsp->cellId = ueRecfgReq->cellId;
- reCfgRsp->ueId = ueRecfgReq->ueId;
reCfgRsp->crnti = ueRecfgReq->crnti;
reCfgRsp->rsp = result;
bool isLcIdValid = FALSE;
ueCb->ueCfg.cellId = ueCfg->cellId;
- ueCb->ueCfg.ueId = ueCfg->ueId;
+ ueCb->ueCfg.ueId = ueCb->ueId;
ueCb->ueCfg.crnti = ueCfg->crnti;
if(ueCfg->macCellGrpCfgPres == true)
{
ueCb->ueCfg.cellId = ueRecfg->cellId;
- ueCb->ueCfg.ueId = ueRecfg->ueId;
ueCb->ueCfg.crnti = ueRecfg->crnti;
+ GET_UE_ID(ueRecfg->crnti, ueCb->ueCfg.ueId);
ueCb->ueCfg.dataTransmissionAction = ueRecfg->dataTransmissionInfo;
if(ueRecfg->macCellGrpRecfgPres == true)
{
uint8_t SchAddUeConfigReq(Pst *pst, SchUeCfgReq *ueCfg)
{
uint8_t lcIdx = 0, ret = ROK, idx = 0;
+ uint16_t ueId = 0;
SchCellCb *cellCb = NULLP;
SchUeCb *ueCb = NULLP;
SchUeCfgRsp cfgRsp;
return RFAILED;
}
/* Search if UE already configured */
- ueCb = &cellCb->ueCb[ueCfg->ueId - 1];
+ GET_UE_ID(ueCfg->crnti, ueId);
+ ueCb = &cellCb->ueCb[ueId - 1];
if((ueCb->crnti == ueCfg->crnti) && (ueCb->state == SCH_UE_STATE_ACTIVE))
{
/* Fill received Ue Configuration in UeCb */
memset(ueCb, 0, sizeof(SchUeCb));
- ueCb->ueId = ueCfg->ueId;
ueCb->crnti = ueCfg->crnti;
+ GET_UE_ID(ueCb->crnti, ueCb->ueId);
ueCb->cellCb = cellCb;
- schUlHqEntInit(cellCb, &cellCb->ueCb[ueCfg->ueId-1]);
- schDlHqEntInit(cellCb, &cellCb->ueCb[ueCfg->ueId-1]);
+ schUlHqEntInit(cellCb, &cellCb->ueCb[ueCb->ueId-1]);
+ schDlHqEntInit(cellCb, &cellCb->ueCb[ueCb->ueId-1]);
SCH_ALLOC(ueCb->hqDlmap, sizeof(SchHqDlMap*)*(ueCb->cellCb->numSlots));
SCH_ALLOC(ueCb->hqUlmap, sizeof(SchHqUlMap*)*(ueCb->cellCb->numSlots));
typedef struct carrierCfg
{
uint32_t dlBw; /* DL bandwidth */
- uint32_t dlFreq; /* Absolute frequency of DL point A in KHz */
+ uint32_t arfcnDL; /* Absolute frequency Number of DL */
uint32_t ulBw; /* UL bandwidth */
- uint32_t ulFreq; /* Absolute frequency of UL point A in KHz */
+ uint32_t arfcnUL; /* Absolute frequency Number of UL */
uint16_t numTxAnt; /* Number of Tx antennas */
uint16_t numRxAnt; /* Number of Rx antennas */
}CarrierCfg;
typedef struct schUeCfgReq
{
uint16_t cellId;
- uint8_t ueId;
uint8_t beamIdx;
uint16_t crnti;
bool macCellGrpCfgPres;
typedef struct schUeRecfgReq
{
uint16_t cellId;
- uint8_t ueId;
uint8_t beamIdx;
uint16_t crnti;
bool macCellGrpRecfgPres;
{
uint16_t cellId;
uint8_t beamIdx;
- uint16_t ueId;
uint16_t crnti;
SchMacRsp rsp;
CauseOfResult cause;
#ifdef O1_ENABLE
duCfgParam.macCellCfg.cellId = cellParams.cellLocalId;
duCfgParam.macCellCfg.carrCfg.dlBw = cellParams.bSChannelBwDL;
- duCfgParam.macCellCfg.carrCfg.dlFreq = convertArfcnToFreqKhz(cellParams.arfcnDL);
+ duCfgParam.macCellCfg.carrCfg.arfcnDL = cellParams.arfcnDL;
#else
duCfgParam.macCellCfg.cellId = NR_CELL_ID;
duCfgParam.macCellCfg.carrCfg.dlBw = NR_BANDWIDTH;
- duCfgParam.macCellCfg.carrCfg.dlFreq = convertArfcnToFreqKhz(NR_DL_ARFCN);
+ duCfgParam.macCellCfg.carrCfg.arfcnDL = NR_DL_ARFCN;
#endif
duCfgParam.macCellCfg.carrCfg.numTxAnt = NUM_TX_ANT;
/* UL Carrier configuration */
#ifdef O1_ENABLE
duCfgParam.macCellCfg.carrCfg.ulBw = cellParams.bSChannelBwUL;
- duCfgParam.macCellCfg.carrCfg.ulFreq = convertArfcnToFreqKhz(cellParams.arfcnUL);
+ duCfgParam.macCellCfg.carrCfg.arfcnUL = cellParams.arfcnUL;
#else
duCfgParam.macCellCfg.carrCfg.ulBw = NR_BANDWIDTH;
- duCfgParam.macCellCfg.carrCfg.ulFreq = convertArfcnToFreqKhz(NR_UL_ARFCN);
+ duCfgParam.macCellCfg.carrCfg.arfcnUL = NR_UL_ARFCN;
#endif
duCfgParam.macCellCfg.carrCfg.numRxAnt = NUM_RX_ANT;