X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fcommon_def.h;h=129d91b4a0c013341c6b983701e6389e483884fd;hb=e698840bb6fcecc68be5b1d1fd17436bd1d5e83f;hp=754037a494e9a046ef7a53cd3ffb86672bdc174a;hpb=b580426053b24d64971d6f94571c4ea2c5a09f53;p=o-du%2Fl2.git diff --git a/src/cm/common_def.h b/src/cm/common_def.h index 754037a49..129d91b4a 100644 --- a/src/cm/common_def.h +++ b/src/cm/common_def.h @@ -57,9 +57,9 @@ /* MAX values */ #define MAX_NUM_CELL 1 #define MAX_NUM_MU 4 -#define MAX_NUM_UE 2 +#define MAX_NUM_UE 3 #define MAX_NUM_UE_PER_TTI 1 -#define MAX_NUM_LC 32 /*Spec 38.331: Sec 6.4: maxLC-ID Keyword*/ +#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 */ @@ -90,14 +90,22 @@ #define PUCCH_FORMAT_3 3 #define PUCCH_FORMAT_4 4 +#define DEFAULT_MCS 4 + #define BANDWIDTH_20MHZ 20 #define BANDWIDTH_100MHZ 100 /* PRB allocation as per 38.101, Section 5.3.2 */ #define TOTAL_PRB_20MHZ_MU0 106 #define TOTAL_PRB_100MHZ_MU1 273 +#ifdef NR_TDD +#define MAX_NUM_RB TOTAL_PRB_100MHZ_MU1 /* value for numerology 1, 100 MHz */ +#else +#define MAX_NUM_RB TOTAL_PRB_20MHZ_MU0 /* value for numerology 0, 20 MHz */ +#endif -#define ODU_THROUGHPUT_PRINT_TIME_INTERVAL 5 /* in milliseconds */ +#define ODU_UE_THROUGHPUT_PRINT_TIME_INTERVAL 5 /* in milliseconds */ +#define ODU_SNSSAI_THROUGHPUT_PRINT_TIME_INTERVAL 60000 /* in milliseconds */ /* Defining macros for common utility functions */ #define ODU_GET_MSG_BUF SGetMsg @@ -125,11 +133,15 @@ #define ODU_SET_THREAD_AFFINITY SSetAffinity #define ODU_CREATE_TASK SCreateSTsk +#define MAX_SYMB_PER_SLOT 14 + +/* Slice */ +#define SD_SIZE 3 + #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 -#define MAX_SYMB_PER_SLOT 14 #endif #define GET_UE_IDX( _crnti,_ueIdx) \ @@ -178,6 +190,17 @@ _bitPos = __builtin_ctz(_in); \ } +/* MACRO for checking CRNTI range*/ +#define CHECK_CRNTI(_crnti, _isCrntiValid) \ +{ \ + _isCrntiValid = ((_crnti >= ODU_START_CRNTI && _crnti <= ODU_END_CRNTI ) ? 1 : 0); \ +} + +#define CHECK_LCID(_lcId, _isLcidValid) \ +{\ + _isLcidValid = ((_lcId >= SRB0_LCID && _lcId <= MAX_DRB_LCID) ? 1 : 0);\ +} + typedef enum { UE_CFG_INACTIVE, @@ -244,6 +267,12 @@ typedef struct PlmnIdentity uint8_t mnc[3]; }Plmn; +typedef struct snssai +{ + uint8_t sst; + uint8_t sd[SD_SIZE]; +}Snssai; + typedef struct oduCellId { uint16_t cellId; @@ -262,9 +291,10 @@ OduCellStatus gCellStatus; uint64_t gSlotCount; uint64_t gDlDataRcvdCnt; /* Number of DL data received at EGTP */ -void freqDomRscAllocType0(uint16_t startPrb, uint16_t prbSize, uint8_t *freqDomain); +void fillCoresetFeqDomAllocMap(uint16_t startPrb, uint16_t prbSize, uint8_t *freqDomain); void oduCpyFixBufToMsg(uint8_t *fixBuf, Buffer *mBuf, uint16_t len); uint8_t buildPlmnId(Plmn plmn, uint8_t *buf); +uint16_t fetchScsValue(uint8_t scsEnumValue); 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);