+#ifdef NR_DRX
+ if(ueCfg->macCellGrpCfg.drxCfgPresent == true)
+ {
+ if(ueCb->ueDrxInfoPres == false)
+ {
+ ueCb->ueDrxInfoPres = true;
+ /* intialize the drxUeCb */
+ schInitDrxUeCb(ueCb);
+
+ /* intialize the Dl drxHarqCb */
+ for(idx =0; idx<ueCb->dlHqEnt.numHqPrcs; idx++)
+ {
+ schInitDrxHarqCb(&ueCb->dlHqEnt.procs[idx].drxHarqCb);
+ }
+ /* intialize the Ul drxHarqCb */
+ for(idx =0; idx<ueCb->ulHqEnt.numHqPrcs; idx++)
+ {
+ schInitDrxHarqCb(&ueCb->ulHqEnt.procs[idx].drxHarqCb);
+ }
+ /* convert all the drx configuration recived in ms/subms into number of slots and store into the drxUeCb */
+ schFillDrxUeCb(ueCb->cellCb->cellCfg.numerology, ueCfg->macCellGrpCfg.drxCfg, &ueCb->drxUeCb);
+ /* Calculate the onduration timer and short cycle timer (if shortcycle configuration is present) as soon as we
+ * recived ueCfg request */
+ schAddUeInOndurationAndShortCycleList(ueCb->cellCb, ueCb, 0);
+
+ }
+ else
+ {
+ /* convert all the drx configuration recived in ms/subms into number
+ * of slots and store into the drxUeCb */
+ schFillDrxUeCb(ueCb->cellCb->cellCfg.numerology, ueCfg->macCellGrpCfg.drxCfg, &ueCb->drxUeCb);
+
+ /* Recalculate/Restart timer based on their presence */
+ schDrxUeReCfgTimer(ueCb->cellCb, ueCb);
+ }
+ }
+#endif