X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fcommon_def.c;h=0faff3997faf8b8e3acfde0b4c8d53989a0ae6b7;hb=64580b61ab517a3c1fc09b3e0dc32109b913b726;hp=2321783286fe62800033230c76cffd9ba24d48e1;hpb=0f742beeb500d9348e2657262d12ddea2ccac183;p=o-du%2Fl2.git diff --git a/src/cm/common_def.c b/src/cm/common_def.c index 232178328..0faff3997 100644 --- a/src/cm/common_def.c +++ b/src/cm/common_def.c @@ -155,7 +155,7 @@ uint8_t buildPlmnId(Plmn plmn, uint8_t *buf) * * @details * - * Function : fetchScsValue + * Function : convertScsEnumValToScsVal * * Functionality: * Function to map Sub carrier spacing enum value to value in kHz @@ -164,7 +164,7 @@ uint8_t buildPlmnId(Plmn plmn, uint8_t *buf) * @return sub-carrier spacing value in kHz * * ****************************************************************/ -uint16_t fetchScsValue(uint8_t scsEnumValue) +uint16_t convertScsEnumValToScsVal(uint8_t scsEnumValue) { switch(scsEnumValue) { @@ -179,6 +179,87 @@ uint16_t fetchScsValue(uint8_t scsEnumValue) } } +/******************************************************************* + * @brief convert scs offset value into the enum value received from O1 + * + * @details + * + * Function : convertScsValToScsEnum + * + * Functionality: + * - convert scs periodicity value + * + * @params[in] uint32_t num + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ + +uint8_t convertScsValToScsEnum(uint32_t num) +{ + switch(num) + { + case 15: + return SCS_15KHZ; + + case 30: + return SCS_30KHZ; + + case 60: + return SCS_60KHZ; + + case 120: + return SCS_120KHZ; + + case 240: + return SCS_240KHZ; + + default: + return SCS_15KHZ; + } +} + +/******************************************************************* + * @brief convert scs periodicity value into the enum value received from O1 + * + * @details + * + * Function : convertScsPeriodicityToEnum + * + * Functionality: + * - convert scs periodicity value + * + * @params[in] uint32_t num + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ +uint8_t convertScsPeriodicityToEnum(uint32_t num) +{ + switch(num) + { + case 5: + return SCS_5MS; + + case 10: + return SCS_10MS; + + case 20: + return SCS_20MS; + + case 40: + return SCS_40MS; + + case 80: + return SCS_80MS; + + case 160: + return SCS_160MS; + + default: + return SCS_5MS; + } +} /******************************************************************* * * @brief SGetSBuf with debug logs @@ -200,8 +281,11 @@ uint8_t SGetSBufNewForDebug(char *file, char *func, char *line, Region region, P if(SGetSBuf(region, pool, ptr, size) == ROK) { #ifdef ODU_MEMORY_DEBUG_LOG - printf("\nCM_ALLOC=== SGetSBufNewForDebug %s +%d, %s, %d, %p\n",\ + if (strncmp(func,"cmInetRecvMsg",sizeof("cmInetRecvMsg"))) + { + printf("\nCM_ALLOC=== SGetSBufNewForDebug %s +%d, %s, %d, %p\n",\ file, line, func, size, *ptr); + } #endif return ROK; } @@ -230,8 +314,11 @@ uint8_t SPutSBufNewForDebug(char *file, char *func, char *line, Region region, P if(SPutSBuf(region, pool, ptr, size) == ROK) { #ifdef ODU_MEMORY_DEBUG_LOG - printf("\nCM_FREE=== SPutSBufNewForDebug %s +%d, %s, %d, %p\n",\ + if (strncmp(func,"cmInetRecvMsg",sizeof("cmInetRecvMsg"))) + { + printf("\nCM_FREE=== SPutSBufNewForDebug %s +%d, %s, %d, %p\n",\ file, line, func, size, ptr); + } #endif return ROK; } @@ -301,6 +388,35 @@ Region region, Pool pool, Data *ptr, Size size, uint8_t memType) else return RFAILED; } + + +/******************************************************************* +* +* @brief countSetBits in an integer +* +* @details +* +* Function : countSetBits +* +* Functionality: countSetBits in unsigned integer +* +* @params[in] uint32_t number/Bitmask +* +* @return [out] uint8_t count of Set Bits +* +* ****************************************************************/ +uint8_t countSetBits(uint32_t num) +{ + uint8_t count = 0; + + while(num) + { + count += num & 1; + num >>= 1; + } + return(count); +} + /********************************************************************** End of file **********************************************************************/