[Epic-ID: ODUHIGH-462][Task-ID: ODUHIGH-471] Storing drx configuration in cell
[o-du/l2.git] / src / 5gnrmac / mac_cfg_hdl.c
index f354fa4..c36c72e 100644 (file)
@@ -387,6 +387,28 @@ uint8_t MacSchCellCfgReq(Pst *pst, MacCellCfg *macCellCfg)
          }
       }
    }
+#ifdef NR_DRX
+   /* Drx configuration */
+
+   schCellCfg.drxInfo.drxOnDurationTimer.onDurationTimerValInMs = macCellCfg->drxInfo.drxOnDurationTimer.onDurationTimerValInMs;
+   if(!macCellCfg->drxInfo.drxOnDurationTimer.onDurationTimerValInMs)
+      schCellCfg.drxInfo.drxOnDurationTimer.onDurationtimerValue.subMilliSeconds = \
+      macCellCfg->drxInfo.drxOnDurationTimer.onDurationtimerValue.subMilliSeconds;
+   else
+      schCellCfg.drxInfo.drxOnDurationTimer.onDurationtimerValue.milliSeconds = \
+      macCellCfg->drxInfo.drxOnDurationTimer.onDurationtimerValue.milliSeconds;
+   schCellCfg.drxInfo.drxInactivityTimer = macCellCfg->drxInfo.drxInactivityTimer;
+   schCellCfg.drxInfo.drxHarqRttTimerDl = macCellCfg->drxInfo.drxHarqRttTimerDl;
+   schCellCfg.drxInfo.drxHarqRttTimerUl = macCellCfg->drxInfo.drxHarqRttTimerUl;
+   schCellCfg.drxInfo.drxRetransmissionTimerDl = macCellCfg->drxInfo.drxRetransmissionTimerDl;
+   schCellCfg.drxInfo.drxRetransmissionTimerUl = macCellCfg->drxInfo.drxRetransmissionTimerUl;
+   schCellCfg.drxInfo.drxLongCycleStartOffset.drxLongCycleStartOffsetChoice = macCellCfg->drxInfo.drxLongCycleStartOffset.\
+                                                                              drxLongCycleStartOffsetChoice;
+   schCellCfg.drxInfo.drxLongCycleStartOffset.drxLongCycleStartOffsetVal = macCellCfg->drxInfo.drxLongCycleStartOffset.drxLongCycleStartOffsetVal;
+   schCellCfg.drxInfo.shortDrx.drxShortCycle = macCellCfg->drxInfo.shortDrx.drxShortCycle;
+   schCellCfg.drxInfo.shortDrx.drxShortCycleTimer = macCellCfg->drxInfo.shortDrx.drxShortCycleTimer;
+   schCellCfg.drxInfo.drxSlotOffset = macCellCfg->drxInfo.drxSlotOffset;
+#endif
 
 #ifdef NR_TDD
    memcpy(&schCellCfg.tddCfg, &macCellCfg->tddCfg, sizeof(TDDCfg));