X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fmac_sch_interface.h;h=0d1ab67a9754750065bbd3c6777d7b4dac6dcf61;hb=ba99af5e5ea60b0d8eede9f3323fc9a9991fcfe3;hp=1ab00fb56a09a69175c20a36a1530384a6f75930;hpb=d169699deebeb7cd144e15ee58bc8032acbd5299;p=o-du%2Fl2.git diff --git a/src/cm/mac_sch_interface.h b/src/cm/mac_sch_interface.h index 1ab00fb56..0d1ab67a9 100644 --- a/src/cm/mac_sch_interface.h +++ b/src/cm/mac_sch_interface.h @@ -772,6 +772,46 @@ typedef struct schHqCfgParam uint8_t maxUlDataHqTx; }SchHqCfg; +#ifdef NR_DRX +/* The following list of structures is taken from the DRX-Config section of specification 33.331. */ + +typedef struct schDrxOnDurationTimer +{ + bool onDurationTimerValInMs; + union + { + uint8_t subMilliSeconds; + uint16_t milliSeconds; + }onDurationtimerValue; +}SchDrxOnDurationTimer; + +typedef struct schDrxLongCycleStartOffset +{ + uint16_t drxLongCycleStartOffsetChoice; + uint16_t drxLongCycleStartOffsetVal; +}SchDrxLongCycleStartOffset; + +typedef struct schShortDrx +{ + uint16_t drxShortCycle; + uint8_t drxShortCycleTimer; +}SchShortDrx; + +typedef struct schDrxCfg +{ + SchDrxOnDurationTimer drxOnDurationTimer; + uint16_t drxInactivityTimer; + uint8_t drxHarqRttTimerDl; + uint8_t drxHarqRttTimerUl; + uint16_t drxRetransmissionTimerDl; + uint16_t drxRetransmissionTimerUl; + SchDrxLongCycleStartOffset drxLongCycleStartOffset; + bool shortDrxPres; + SchShortDrx shortDrx; + uint8_t drxSlotOffset; +}SchDrxCfg; +#endif + typedef struct schCellCfg { uint16_t cellId; /* Cell Id */ @@ -790,7 +830,7 @@ typedef struct schCellCfg SchHqCfg schHqCfg; #ifdef NR_TDD TDDCfg tddCfg; /* TDD Cfg */ -#endif +#endif }SchCellCfg; typedef struct schCellCfgCfm @@ -1159,6 +1199,9 @@ typedef struct schMacCellGrpCfg SchSchedReqCfg schedReqCfg; SchTagCfg tagCfg; SchPhrCfg phrCfg; /* To be used only if phrCfgSetupPres is true */ +#ifdef NR_DRX + SchDrxCfg drxCfg; /* Drx configuration */ +#endif }SchMacCellGrpCfg; /* Physical Cell Group Configuration */