#include "mac_sch_interface.h"
#include "lwr_mac_upr_inf.h"
#include "mac.h"
+#include "rlc_mac_inf.h"
#include "mac_upr_inf_api.h"
#include "lwr_mac.h"
#include "lwr_mac_fsm.h"
#include "mac_utils.h"
+#include "lwr_mac_phy.h"
+
+uint8_t ssbPeriodicity[6] = {5, 10, 20, 40, 80, 160};
uint8_t MacSchCellCfgReq(Pst *pst, MacCellCfg *macCellCfg);
* @return
* -# ROK
**/
-PUBLIC int MacSchGenCfgReq(Pst *pst, RgMngmt *cfg)
+uint8_t MacSchGenCfgReq(Pst *pst, RgMngmt *cfg)
{
printf("\nReceived Scheduler gen config at MAC");
pst->dstInst = DEFAULT_CELLS + 1;
* @return
* -# ROK
**/
-PUBLIC uint8_t SchSendCfgCfm(Pst *pst, RgMngmt *cfm)
+uint8_t SchSendCfgCfm(Pst *pst, RgMngmt *cfm)
{
- printf("\nSending Scheduler config confirm to DU APP");
+ DU_LOG("\nDEBUG --> Sending Scheduler config confirm to DU APP");
pst->dstEnt = ENTDUAPP;
pst->dstInst = 0;
pst->srcInst = 0;
{
Pst cfmPst;
uint16_t cellIdx;
- uint16_t ret = ROK;
+ uint8_t ret = ROK;
MacCellCb *macCellCb;
- cmMemset((uint8_t *)&cfmPst, 0, sizeof(Pst));
+ memset((uint8_t *)&cfmPst, 0, sizeof(Pst));
MAC_ALLOC(macCellCb, sizeof(MacCellCb));
if(macCellCb == NULLP)
{
- DU_LOG("\nMAC : macCellCb is NULL at handling of macCellCfg\n");
+ DU_LOG("\nERROR --> MAC : macCellCb is NULL at handling of macCellCfg\n");
return RFAILED;
}
memset(macCellCb, 0, sizeof(MacCellCb));
macCb.macCell[cellIdx]->macCellCfg.sib1Cfg.sib1PduLen);
if(macCb.macCell[cellIdx]->macCellCfg.sib1Cfg.sib1Pdu == NULLP)
{
- DU_LOG("\nMAC : macCellCb is NULL at handling of sib1Pdu of macCellCfg\n");
+ DU_LOG("\nERROR --> MAC : macCellCb is NULL at handling of sib1Pdu of macCellCfg\n");
return RFAILED;
}
memcpy(macCb.macCell[cellIdx]->macCellCfg.sib1Cfg.sib1Pdu, macCellCfg->sib1Cfg.sib1Pdu, \
MAC_FREE_SHRABL_BUF(pst->region, pst->pool, macCellCfg->sib1Cfg.sib1Pdu, macCellCfg->sib1Cfg.sib1PduLen);
MAC_FREE_SHRABL_BUF(pst->region, pst->pool, macCellCfg ,sizeof(MacCellCfg));
}
-#ifdef INTEL_WLS
- LwrMacEnqueueWlsBlock();
-#endif
return ret;
} /* end of MacProcCellCfgReq */
{
SchCellCfg schCellCfg;
Pst cfgPst;
- int ret;
+ uint8_t ret =0;
- cmMemset((uint8_t *)&cfgPst, 0, sizeof(Pst));
+ memset(&cfgPst, 0, sizeof(Pst));
+ memset(&schCellCfg, 0, sizeof(SchCellCfg));
schCellCfg.cellId = macCellCfg->cellId;
schCellCfg.phyCellId = macCellCfg->phyCellId;
- schCellCfg.bandwidth = macCellCfg->dlCarrCfg.bw;
+ schCellCfg.numerology = macCellCfg->numerology;
schCellCfg.dupMode = macCellCfg->dupType;
+ schCellCfg.bandwidth = macCellCfg->dlCarrCfg.bw;
+ schCellCfg.dlFreq = macCellCfg->dlCarrCfg.freq;
+ schCellCfg.ulFreq = macCellCfg->ulCarrCfg.freq;
/* fill ssb scheduler parameters */
schCellCfg.ssbSchCfg.ssbPbchPwr = macCellCfg->ssbCfg.ssbPbchPwr;
schCellCfg.ssbSchCfg.scsCommon = macCellCfg->ssbCfg.scsCmn;
schCellCfg.ssbSchCfg.ssbOffsetPointA = macCellCfg->ssbCfg.ssbOffsetPointA;
- schCellCfg.ssbSchCfg.ssbPeriod = macCellCfg->ssbCfg.ssbPeriod;
+ schCellCfg.ssbSchCfg.ssbPeriod = ssbPeriodicity[macCellCfg->ssbCfg.ssbPeriod];
schCellCfg.ssbSchCfg.ssbSubcOffset = macCellCfg->ssbCfg.ssbScOffset;
for(uint8_t idx=0; idx<SSB_MASK_SIZE; idx++)
{
/* fill SIB1 scheduler parameters */
schCellCfg.sib1SchCfg.sib1PduLen = macCellCfg->sib1Cfg.sib1PduLen;
- schCellCfg.sib1SchCfg.sib1NewTxPeriod = macCellCfg->sib1Cfg.sib1NewTxPeriod;
schCellCfg.sib1SchCfg.sib1RepetitionPeriod = macCellCfg->sib1Cfg.sib1RepetitionPeriod;
schCellCfg.sib1SchCfg.coresetZeroIndex = macCellCfg->sib1Cfg.coresetZeroIndex;
schCellCfg.sib1SchCfg.searchSpaceZeroIndex = macCellCfg->sib1Cfg.searchSpaceZeroIndex;
macCellCfg->initialUlBwp.puschCommon.startSymbol;
schCellCfg.schInitialUlBwp.puschCommon.lengthSymbol =
macCellCfg->initialUlBwp.puschCommon.lengthSymbol;
+#ifdef NR_TDD
+ memcpy(&schCellCfg.tddCfg, &macCellCfg->tddCfg, sizeof(TDDCfg));
+#endif
FILL_PST_MAC_TO_SCH(cfgPst, EVENT_SCH_CELL_CFG);
uint16_t cellIdx;
MacCellCfgCfm macCellCfgCfm;
- cmMemset((uint8_t *)&pst, 0, sizeof(Pst));
+ memset(&pst, 0, sizeof(Pst));
GET_CELL_IDX(cellId, cellIdx);
macCellCfgCfm.cellId = macCb.macCell[cellIdx]->macCellCfg.cellId;
if(schCellCfgCfm->rsp == RSP_OK)
{
cellId = &schCellCfgCfm->cellId;
+#ifdef INTEL_TIMER_MODE
+ sendToLowerMac(UL_IQ_SAMPLE, 0, (void *)cellId);
+#else
sendToLowerMac(CONFIG_REQUEST, 0, (void *)cellId);
+#endif
}
else
{