X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fcommon_def.h;h=e07f6a67d3e7d0cfc21e3ca16bcf7b12d3a969e2;hb=5256719522354a90ea688e9c95a1212d0104b34e;hp=1bdb4a118fc7859e0fb942212c4c916ff0e758a7;hpb=d1086166f17ae851cba5296a7ce1c5c5d1a553b9;p=o-du%2Fl2.git diff --git a/src/cm/common_def.h b/src/cm/common_def.h index 1bdb4a118..e07f6a67d 100644 --- a/src/cm/common_def.h +++ b/src/cm/common_def.h @@ -53,12 +53,14 @@ #include "cm_lib.x" #include "du_log.h" -#define RADIO_FRAME_DURATION 10 /* Time duration of a radio frame in ms */ +#define SCH_INST_START 1 +#define SCH_MAX_INST 1 + /* MAX values */ #define MAX_NUM_CELL 2 /* Changed to 2 to support cell Id 2 even if there is only one cell in DU */ #define MAX_NUM_MU 4 #define MAX_NUM_UE 3 -#define MAX_NUM_UE_PER_TTI 1 +#define MAX_NUM_UE_PER_TTI 2 #define MAX_NUM_LC MAX_DRB_LCID + 1 /*Spec 38.331: Sec 6.4: maxLC-ID Keyword*/ #define MAX_NUM_SRB 3 /* Max. no of Srbs */ #define MAX_NUM_DRB 29 /* spec 38.331, maxDRB */ @@ -66,15 +68,6 @@ #define MAX_NUM_HARQ_PROC 16 /* spec 38.331, nrofHARQ-ProcessesForPDSCH */ #define MAX_NUM_TB_PER_UE 2 /* spec 38.331, maxNrofCodeWordsScheduledByDCI */ -/* 5G ORAN phy delay */ -#ifdef NR_TDD -#define PHY_DELTA_DL 2 -#define PHY_DELTA_UL 0 -#else -#define PHY_DELTA_DL 1 -#define PHY_DELTA_UL 0 -#endif - /* SELECTORS */ #define ODU_SELECTOR_LC 0 #define ODU_SELECTOR_TC 1 @@ -112,9 +105,6 @@ #define MAX_NUM_RB TOTAL_PRB_20MHZ_MU0 /* value for numerology 0, 20 MHz */ #endif -#define ODU_UE_THROUGHPUT_PRINT_TIME_INTERVAL 5 /* in milliseconds */ -#define ODU_SNSSAI_THROUGHPUT_PRINT_TIME_INTERVAL 60000 /* in milliseconds */ - /*Spec 38.331 Sec 6.4: Maximum number of paging occasion per paging frame*/ #define MAX_PO_PER_PF 4 @@ -126,6 +116,12 @@ #define MAX_SFN 1024 +/*First SCS in kHz as per 3gpp spec 38.211 Table 4.2-1 */ +#define BASE_SCS 15 + +#define MAX_NUM_STATS_GRP 5 /* Max number of statistics group per configuration request */ +#define MAX_NUM_STATS 10 /* Max number of statistics per group */ + /* Defining macros for common utility functions */ #define ODU_GET_MSG_BUF SGetMsg #define ODU_PUT_MSG_BUF SPutMsg @@ -145,6 +141,7 @@ #define ODU_PRINT_MSG SPrntMsg #define ODU_REM_PRE_MSG SRemPreMsg #define ODU_REM_PRE_MSG_MULT SRemPreMsgMult +#define ODU_REM_POST_MSG_MULT SRemPstMsgMult #define ODU_REG_TMR_MT SRegTmrMt #define ODU_SEGMENT_MSG SSegMsg #define ODU_CAT_MSG SCatMsg @@ -222,6 +219,28 @@ _isLcidValid = ((_lcId >= SRB0_LCID && _lcId <= MAX_DRB_LCID) ? 1 : 0);\ } +/** + * @def TMR_CALCUATE_WAIT + * + * This macro calculates and assigns wait time based on the value of the + * timer and the timer resolution. Timer value of 0 signifies that the + * timer is not configured + * + * @param[out] _wait Time for which to arm the timer changed to proper + * value according to the resolution + * @param[in] _tmrVal Value of the timer + * @param[in] _timerRes Resolution of the timer + * +*/ +#define TMR_CALCUATE_WAIT(_wait, _tmrVal, _timerRes) \ +{ \ + (_wait) = ((_tmrVal) * SS_TICKS_SEC)/((_timerRes) * 1000); \ + if((0 != (_tmrVal)) && (0 == (_wait))) \ + { \ + (_wait) = 1; \ + } \ +} + typedef enum { SUCCESSFUL, @@ -229,6 +248,9 @@ typedef enum UEID_INVALID, RESOURCE_UNAVAILABLE, SLICE_NOT_FOUND, + DUPLICATE_ENTRY, + PARAM_INVALID, + STATS_ID_NOT_FOUND }CauseOfResult ; typedef enum @@ -326,6 +348,12 @@ typedef struct snssai uint8_t sd[SD_SIZE]; }Snssai; +typedef struct supportedSliceList +{ + uint8_t numSupportedSlices; + Snssai **snssai; +}SupportedSliceList; + typedef struct oduCellId { uint16_t cellId; @@ -342,9 +370,19 @@ typedef struct tddCfg }TDDCfg; #endif -OduCellStatus gCellStatus; -uint64_t gSlotCount; -uint64_t gDlDataRcvdCnt; /* Number of DL data received at EGTP */ +typedef struct gConfiguration +{ + uint8_t gPhyDeltaDl; + uint8_t gPhyDeltaUl; + uint8_t gUeThrptTimeIntervl; + uint8_t gSnssaiThrptTimeIntervl; + uint8_t gRadioFrameDuration; + OduCellStatus gCellStatus; + uint64_t gSlotCount; + uint64_t gDlDataRcvdCnt; /* Number of DL data received at EGTP */ +}GConfiguration; + +GConfiguration gConfigInfo; void fillCoresetFeqDomAllocMap(uint16_t startPrb, uint16_t prbSize, uint8_t *freqDomain); void oduCpyFixBufToMsg(uint8_t *fixBuf, Buffer *mBuf, uint16_t len);