Merge remote-tracking branch 'origin/fix_nrqtscope_build_warnings' into integration_2023_w10b
This commit is contained in:
@@ -55,7 +55,7 @@ macro(add_list2_option name val helpstr)
|
|||||||
endif()
|
endif()
|
||||||
set(${name} ${value} CACHE STRING "${helpstr}")
|
set(${name} ${value} CACHE STRING "${helpstr}")
|
||||||
set_property(CACHE ${name} PROPERTY STRINGS ${ARGN})
|
set_property(CACHE ${name} PROPERTY STRINGS ${ARGN})
|
||||||
if(NOT "${value}" STREQUAL "False")
|
if(NOT "${value}" STREQUAL "None")
|
||||||
add_definitions("-D${value}=1")
|
add_definitions("-D${value}=1")
|
||||||
endif()
|
endif()
|
||||||
endmacro(add_list2_option)
|
endmacro(add_list2_option)
|
||||||
|
|||||||
@@ -33,6 +33,7 @@
|
|||||||
#ifndef __PHY_IMPL_DEFS_NB_IOT__H__
|
#ifndef __PHY_IMPL_DEFS_NB_IOT__H__
|
||||||
#define __PHY_IMPL_DEFS_NB_IOT__H__
|
#define __PHY_IMPL_DEFS_NB_IOT__H__
|
||||||
|
|
||||||
|
#include <asn_SEQUENCE_OF.h>
|
||||||
#include "types_NB_IoT.h"
|
#include "types_NB_IoT.h"
|
||||||
//#include "defs.h"
|
//#include "defs.h"
|
||||||
|
|
||||||
@@ -40,17 +41,6 @@ typedef enum {TDD_NB_IoT=1,FDD_NB_IoT=0} NB_IoT_frame_type_t;
|
|||||||
typedef enum {EXTENDED_NB_IoT=1,NORMAL_NB_IoT=0} NB_IoT_prefix_type_t;
|
typedef enum {EXTENDED_NB_IoT=1,NORMAL_NB_IoT=0} NB_IoT_prefix_type_t;
|
||||||
typedef enum {SF_DL_NB_IoT, SF_UL_NB_IoT, SF_S_NB_IoT} NB_IoT_subframe_t;
|
typedef enum {SF_DL_NB_IoT, SF_UL_NB_IoT, SF_S_NB_IoT} NB_IoT_subframe_t;
|
||||||
|
|
||||||
#define A_SEQUENCE_OF(type) A_SET_OF(type)
|
|
||||||
|
|
||||||
#define A_SET_OF(type) \
|
|
||||||
struct { \
|
|
||||||
type **array; \
|
|
||||||
int count; /* Meaningful size */ \
|
|
||||||
int size; /* Allocated size */ \
|
|
||||||
void (*free)(type *); \
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////
|
/////////////////////////
|
||||||
/// Union for \ref TPC_PDCCH_CONFIG::tpc_Index.
|
/// Union for \ref TPC_PDCCH_CONFIG::tpc_Index.
|
||||||
typedef union {
|
typedef union {
|
||||||
|
|||||||
@@ -113,11 +113,11 @@ typedef struct {
|
|||||||
} __attribute__ ((__packed__)) NR_MAC_SUBHEADER_FIXED;
|
} __attribute__ ((__packed__)) NR_MAC_SUBHEADER_FIXED;
|
||||||
|
|
||||||
static inline int get_mac_len(uint8_t* pdu, int pdu_len, uint16_t *mac_ce_len, uint16_t *mac_subheader_len) {
|
static inline int get_mac_len(uint8_t* pdu, int pdu_len, uint16_t *mac_ce_len, uint16_t *mac_subheader_len) {
|
||||||
if ( pdu_len < sizeof(NR_MAC_SUBHEADER_SHORT))
|
if ( pdu_len < (int)sizeof(NR_MAC_SUBHEADER_SHORT))
|
||||||
return false;
|
return false;
|
||||||
NR_MAC_SUBHEADER_SHORT *s = (NR_MAC_SUBHEADER_SHORT*) pdu;
|
NR_MAC_SUBHEADER_SHORT *s = (NR_MAC_SUBHEADER_SHORT*) pdu;
|
||||||
NR_MAC_SUBHEADER_LONG *l = (NR_MAC_SUBHEADER_LONG*) pdu;
|
NR_MAC_SUBHEADER_LONG *l = (NR_MAC_SUBHEADER_LONG*) pdu;
|
||||||
if (s->F && pdu_len < sizeof(NR_MAC_SUBHEADER_LONG))
|
if (s->F && pdu_len < (int)sizeof(NR_MAC_SUBHEADER_LONG))
|
||||||
return false;
|
return false;
|
||||||
if (s->F) {
|
if (s->F) {
|
||||||
*mac_subheader_len = sizeof(*l);
|
*mac_subheader_len = sizeof(*l);
|
||||||
|
|||||||
+28
-28
@@ -915,10 +915,10 @@ void release_UE_in_freeList(module_id_t mod_id) {
|
|||||||
protocol_ctxt_t ctxt;
|
protocol_ctxt_t ctxt;
|
||||||
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, mod_id, ENB_FLAG_YES, rnti, 0, 0, mod_id);
|
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, mod_id, ENB_FLAG_YES, rnti, 0, 0, mod_id);
|
||||||
|
|
||||||
for (int CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) {
|
for (int CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) {
|
||||||
eNB_PHY = RC.eNB[mod_id][CC_id];
|
eNB_PHY = RC.eNB[mod_id][CC_id];
|
||||||
int id;
|
int id;
|
||||||
// clean ULSCH entries for rnti
|
// clean ULSCH entries for rnti
|
||||||
id = find_ulsch(rnti, eNB_PHY, eNB_MAC->UE_free_ctrl[ue_num].raFlag ? SEARCH_EXIST_RA : SEARCH_EXIST);
|
id = find_ulsch(rnti, eNB_PHY, eNB_MAC->UE_free_ctrl[ue_num].raFlag ? SEARCH_EXIST_RA : SEARCH_EXIST);
|
||||||
|
|
||||||
if (id >= 0)
|
if (id >= 0)
|
||||||
@@ -935,14 +935,14 @@ void release_UE_in_freeList(module_id_t mod_id) {
|
|||||||
if (eNB_PHY->uci_vars[i].rnti == rnti) {
|
if (eNB_PHY->uci_vars[i].rnti == rnti) {
|
||||||
LOG_I(MAC, "clean eNb uci_vars[%d] UE %x \n", i, rnti);
|
LOG_I(MAC, "clean eNb uci_vars[%d] UE %x \n", i, rnti);
|
||||||
memset(&eNB_PHY->uci_vars[i], 0, sizeof(LTE_eNB_UCI));
|
memset(&eNB_PHY->uci_vars[i], 0, sizeof(LTE_eNB_UCI));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for(int j = 0; j < 10; j++) {
|
for(int j = 0; j < 10; j++) {
|
||||||
nfapi_ul_config_request_body_t *ul_req_tmp = &eNB_MAC->UL_req_tmp[CC_id][j].ul_config_request_body;
|
nfapi_ul_config_request_body_t *ul_req_tmp = &eNB_MAC->UL_req_tmp[CC_id][j].ul_config_request_body;
|
||||||
|
|
||||||
if (ul_req_tmp) {
|
if (ul_req_tmp) {
|
||||||
int pdu_number = ul_req_tmp->number_of_pdus;
|
int pdu_number = ul_req_tmp->number_of_pdus;
|
||||||
|
|
||||||
for (int pdu_index = pdu_number - 1; pdu_index >= 0; pdu_index--) {
|
for (int pdu_index = pdu_number - 1; pdu_index >= 0; pdu_index--) {
|
||||||
nfapi_ul_config_request_pdu_t *pdu = ul_req_tmp->ul_config_pdu_list + pdu_index;
|
nfapi_ul_config_request_pdu_t *pdu = ul_req_tmp->ul_config_pdu_list + pdu_index;
|
||||||
@@ -953,32 +953,32 @@ void release_UE_in_freeList(module_id_t mod_id) {
|
|||||||
// Very inefficient memory management, but simple
|
// Very inefficient memory management, but simple
|
||||||
if (pdu_index < pdu_number - 1) {
|
if (pdu_index < pdu_number - 1) {
|
||||||
memcpy(pdu, pdu + 1, (pdu_number - 1 - pdu_index) * sizeof(nfapi_ul_config_request_pdu_t));
|
memcpy(pdu, pdu + 1, (pdu_number - 1 - pdu_index) * sizeof(nfapi_ul_config_request_pdu_t));
|
||||||
}
|
|
||||||
|
|
||||||
ul_req_tmp->number_of_pdus--;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ul_req_tmp->number_of_pdus--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!eNB_MAC->UE_free_ctrl[ue_num].raFlag)
|
|
||||||
rrc_mac_remove_ue(mod_id, rnti);
|
|
||||||
rrc_rlc_remove_ue(&ctxt);
|
|
||||||
pdcp_remove_UE(&ctxt);
|
|
||||||
|
|
||||||
if(eNB_MAC->UE_free_ctrl[ue_num].removeContextFlg) {
|
|
||||||
struct rrc_eNB_ue_context_s *ue_context_pP = rrc_eNB_get_ue_context(RC.rrc[mod_id],rnti);
|
|
||||||
if(ue_context_pP) {
|
|
||||||
LOG_I(PHY, "remove RNTI %04x\n", rnti);
|
|
||||||
rrc_eNB_remove_ue_context(&ctxt,RC.rrc[mod_id],
|
|
||||||
(struct rrc_eNB_ue_context_s *) ue_context_pP);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
LOG_I(RRC, "[release_UE_in_freeList] remove UE %x from freeList ra context: %d\n", rnti, eNB_MAC->UE_free_ctrl[ue_num].raFlag);
|
|
||||||
eNB_MAC->UE_free_ctrl[ue_num].rnti = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!eNB_MAC->UE_free_ctrl[ue_num].raFlag)
|
||||||
|
rrc_mac_remove_ue(mod_id, rnti);
|
||||||
|
rrc_rlc_remove_ue(&ctxt);
|
||||||
|
pdcp_remove_UE(&ctxt);
|
||||||
|
|
||||||
|
if(eNB_MAC->UE_free_ctrl[ue_num].removeContextFlg) {
|
||||||
|
struct rrc_eNB_ue_context_s *ue_context_pP = rrc_eNB_get_ue_context(RC.rrc[mod_id],rnti);
|
||||||
|
if(ue_context_pP) {
|
||||||
|
LOG_I(PHY, "remove RNTI %04x\n", rnti);
|
||||||
|
rrc_eNB_remove_ue_context(&ctxt,RC.rrc[mod_id],
|
||||||
|
(struct rrc_eNB_ue_context_s *) ue_context_pP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
LOG_I(RRC, "[release_UE_in_freeList] remove UE %x from freeList ra context: %d\n", rnti, eNB_MAC->UE_free_ctrl[ue_num].raFlag);
|
||||||
|
eNB_MAC->UE_free_ctrl[ue_num].rnti = 0;
|
||||||
|
}
|
||||||
pthread_mutex_unlock(&lock_ue_freelist);
|
pthread_mutex_unlock(&lock_ue_freelist);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user