X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fcommon_def.h;h=9e7bef4cb79f70c030a2bb28986ffe6a2467e9b1;hb=6dc8a4c17da24847b3a3aee91b37151f77a8a5bc;hp=0ed59eed5c380cf05e820a0ccaf9e14746b94769;hpb=e0ab592152182a8a00aa8e7968209d2c4152e1e9;p=o-du%2Fl2.git diff --git a/src/cm/common_def.h b/src/cm/common_def.h index 0ed59eed5..9e7bef4cb 100644 --- a/src/cm/common_def.h +++ b/src/cm/common_def.h @@ -53,6 +53,9 @@ #include "cm_lib.x" #include "du_log.h" +#define SCH_INST_START 1 +#define SCH_MAX_INST 1 + #define RADIO_FRAME_DURATION 10 /* Time duration of a radio frame in ms */ /* MAX values */ #define MAX_NUM_CELL 2 /* Changed to 2 to support cell Id 2 even if there is only one cell in DU */ @@ -67,8 +70,13 @@ #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 @@ -121,6 +129,13 @@ #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_CFG 2 /* Max number of statistics configuration/Subscription supported */ +#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 @@ -140,6 +155,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 @@ -154,8 +170,10 @@ #ifdef NR_TDD /* Maximum slots for max periodicity and highest numerology is 320. - * However, aligning to fapi_interface.h, setting this macro to 160 */ -#define MAX_TDD_PERIODICITY_SLOTS 160 + * However, aligning to fapi_interface.h, setting this macro to 160. + * TODO : To support 160, FAPI_MAX_NUM_TLVS_CONFIG in fapi_interface.h + * of Intel L1 must be incremented to a higher number */ +#define MAX_TDD_PERIODICITY_SLOTS 10 #endif #define GET_UE_ID( _crnti,_ueId) \ @@ -215,13 +233,48 @@ _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, + CELLID_INVALID, + UEID_INVALID, + RESOURCE_UNAVAILABLE, + SLICE_NOT_FOUND, + DUPLICATE_ENTRY, + PARAM_INVALID, + STATS_ID_NOT_FOUND +}CauseOfResult ; + typedef enum { UE_CFG_INACTIVE, UE_CFG_INPROGRESS, UE_CREATE_COMPLETE, UE_DELETE_COMPLETE, - UE_RECFG_COMPLETE + UE_RECFG_COMPLETE, + UE_RESET_COMPLETE }UeCfgState; typedef enum @@ -229,17 +282,11 @@ typedef enum CONFIG_UNKNOWN, CONFIG_ADD, CONFIG_MOD, - CONFIG_DEL + CONFIG_DEL, + CONFIG_REESTABLISH }ConfigType; #ifdef NR_TDD -typedef enum -{ - DL_SLOT, - UL_SLOT, - FLEXI_SLOT -}SlotConfig; - typedef enum { TX_PRDCTY_MS_0P5, @@ -264,13 +311,13 @@ typedef enum typedef enum { - SCS_5MS, - SCS_10MS, - SCS_20MS, - SCS_40MS, - SCS_80MS, - SCS_160MS -}ScsPeriodicity; + SSB_5MS, + SSB_10MS, + SSB_20MS, + SSB_40MS, + SSB_80MS, + SSB_160MS +}SSBPeriodicity; typedef enum { @@ -323,9 +370,11 @@ typedef struct oduCellId #ifdef NR_TDD typedef struct tddCfg { - bool pres; - DlUlTxPeriodicity tddPeriod; /* DL UL Transmission periodicity */ - SlotConfig slotCfg[MAX_TDD_PERIODICITY_SLOTS][MAX_SYMB_PER_SLOT]; + DlUlTxPeriodicity tddPeriod; /*DL UL Transmission periodicity */ + uint8_t nrOfDlSlots; /*No. of consecultive full DL slots at beginning of DL-UL pattern*/ + uint8_t nrOfDlSymbols; /*No. of consecultive DL symbol at beginning of slot after last full DL slot*/ + uint8_t nrOfUlSlots; /*No. of consecutive full UL slots at the end of each DL-UL pattern*/ + uint8_t nrOfUlSymbols; /*No. of consecutive UL symbols in the end of the slot before the first full UL slot*/ }TDDCfg; #endif @@ -337,15 +386,17 @@ void fillCoresetFeqDomAllocMap(uint16_t startPrb, uint16_t prbSize, uint8_t *fre void oduCpyFixBufToMsg(uint8_t *fixBuf, Buffer *mBuf, uint16_t len); uint8_t buildPlmnId(Plmn plmn, uint8_t *buf); uint16_t convertScsEnumValToScsVal(uint8_t scsEnumValue); +uint8_t convertScsValToScsEnum(uint32_t num); +uint8_t convertSSBPeriodicityToEnum(uint32_t num); -uint8_t SGetSBufNewForDebug(char *file, char *func, char *line, Region region, Pool pool, Data **ptr, Size size); -uint8_t SPutSBufNewForDebug(char *file, char *func, char *line, Region region, Pool pool, Data *ptr, Size size); -uint8_t SGetStaticBufNewForDebug(char *file, char *func, char *line, \ +uint8_t SGetSBufNewForDebug(char *file, const char *func, int line, Region region, Pool pool, Data **ptr, Size size); +uint8_t SPutSBufNewForDebug(char *file, const char *func, int line, Region region, Pool pool, Data *ptr, Size size); +uint8_t SGetStaticBufNewForDebug(char *file, const char *func, int line, \ Region region, Pool pool, Data **ptr, Size size, uint8_t memType); -uint8_t SPutStaticBufNewForDebug(char *file, char *func, char *line, \ +uint8_t SPutStaticBufNewForDebug(char *file, const char *func, int line, \ Region region, Pool pool, Data *ptr, Size size, uint8_t memType); uint8_t countSetBits(uint32_t num); - +uint32_t convertArfcnToFreqKhz(uint32_t arfcn); #endif /**********************************************************************