Merge remote-tracking branch 'origin/ue-hotfix-UEmode-during-initial-connection' into develop_integration_2019_w03
This commit is contained in:
@@ -36,7 +36,7 @@
|
|||||||
void lte_adjust_synch(LTE_DL_FRAME_PARMS *frame_parms,
|
void lte_adjust_synch(LTE_DL_FRAME_PARMS *frame_parms,
|
||||||
PHY_VARS_UE *ue,
|
PHY_VARS_UE *ue,
|
||||||
module_id_t eNB_id,
|
module_id_t eNB_id,
|
||||||
uint8_t subframe,
|
uint8_t subframe,
|
||||||
unsigned char clear,
|
unsigned char clear,
|
||||||
short coef)
|
short coef)
|
||||||
{
|
{
|
||||||
@@ -96,6 +96,7 @@ void lte_adjust_synch(LTE_DL_FRAME_PARMS *frame_parms,
|
|||||||
else
|
else
|
||||||
count_max_pos_ok = 0;
|
count_max_pos_ok = 0;
|
||||||
|
|
||||||
|
|
||||||
if(count_max_pos_ok > 10 && first_time == 1)
|
if(count_max_pos_ok > 10 && first_time == 1)
|
||||||
{
|
{
|
||||||
first_time = 0;
|
first_time = 0;
|
||||||
@@ -103,7 +104,7 @@ void lte_adjust_synch(LTE_DL_FRAME_PARMS *frame_parms,
|
|||||||
if (ue->mac_enabled==1) {
|
if (ue->mac_enabled==1) {
|
||||||
LOG_I(PHY,"[UE%d] Sending synch status to higher layers\n",ue->Mod_id);
|
LOG_I(PHY,"[UE%d] Sending synch status to higher layers\n",ue->Mod_id);
|
||||||
//mac_resynch();
|
//mac_resynch();
|
||||||
dl_phy_sync_success(ue->Mod_id,ue->proc.proc_rxtx[0].frame_rx,0,1);//ue->common_vars.eNb_id);
|
//dl_phy_sync_success(ue->Mod_id,ue->proc.proc_rxtx[0].frame_rx,0,1);//ue->common_vars.eNb_id);
|
||||||
ue->UE_mode[0] = PRACH;
|
ue->UE_mode[0] = PRACH;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
@@ -1332,12 +1332,13 @@ void ue_prach_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
|
|||||||
prach_power = generate_prach(ue,eNB_id,subframe_tx,frame_tx);
|
prach_power = generate_prach(ue,eNB_id,subframe_tx,frame_tx);
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_GENERATE_PRACH, VCD_FUNCTION_OUT);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_GENERATE_PRACH, VCD_FUNCTION_OUT);
|
||||||
// stop_meas(&ue->tx_prach);
|
// stop_meas(&ue->tx_prach);
|
||||||
LOG_D(PHY,"[UE %d][RAPROC] PRACH PL %d dB, power %d dBm, digital power %d dB (amp %d)\n",
|
LOG_I(PHY,"[UE %d][RAPROC] PRACH PL %d dB, power %d dBm (max %d dBm), digital power %d dB (amp %d)\n",
|
||||||
ue->Mod_id,
|
ue->Mod_id,
|
||||||
get_PL(ue->Mod_id,ue->CC_id,eNB_id),
|
get_PL(ue->Mod_id,ue->CC_id,eNB_id),
|
||||||
ue->tx_power_dBm[subframe_tx],
|
ue->tx_power_dBm[subframe_tx],
|
||||||
dB_fixed(prach_power),
|
ue->tx_power_max_dBm,
|
||||||
ue->prach_vars[eNB_id]->amp);
|
dB_fixed(prach_power),
|
||||||
|
ue->prach_vars[eNB_id]->amp);
|
||||||
|
|
||||||
if (ue->mac_enabled==1) {
|
if (ue->mac_enabled==1) {
|
||||||
Msg1_transmitted(ue->Mod_id,
|
Msg1_transmitted(ue->Mod_id,
|
||||||
@@ -2179,7 +2180,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,ui
|
|||||||
|
|
||||||
if (subframe_select(&ue->frame_parms,proc->subframe_tx) == SF_UL ||
|
if (subframe_select(&ue->frame_parms,proc->subframe_tx) == SF_UL ||
|
||||||
ue->frame_parms.frame_type == FDD) {
|
ue->frame_parms.frame_type == FDD) {
|
||||||
if (ue->UE_mode[eNB_id] != PRACH ) {
|
if (ue->UE_mode[eNB_id] > PRACH ) {
|
||||||
// check cell srs subframe and ue srs subframe. This has an impact on pusch encoding
|
// check cell srs subframe and ue srs subframe. This has an impact on pusch encoding
|
||||||
isSubframeSRS = is_srs_occasion_common(&ue->frame_parms,proc->frame_tx,proc->subframe_tx);
|
isSubframeSRS = is_srs_occasion_common(&ue->frame_parms,proc->frame_tx,proc->subframe_tx);
|
||||||
ue_compute_srs_occasion(ue,proc,eNB_id,isSubframeSRS);
|
ue_compute_srs_occasion(ue,proc,eNB_id,isSubframeSRS);
|
||||||
@@ -2409,8 +2410,8 @@ void ue_pbch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc, uin
|
|||||||
ue->UE_mode[eNB_id]==NOT_SYNCHED ? 1 : 0);
|
ue->UE_mode[eNB_id]==NOT_SYNCHED ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// if this is the first PBCH after initial synchronization, make L1 state = PRACH
|
// if this is the first PBCH after initial synchronization and no timing correction is performed, make L1 state = PRACH
|
||||||
if (ue->UE_mode[eNB_id]==NOT_SYNCHED) ue->UE_mode[eNB_id] = PRACH;
|
if (ue->UE_mode[eNB_id]==NOT_SYNCHED && ue->no_timing_correction == 1) ue->UE_mode[eNB_id] = PRACH;
|
||||||
|
|
||||||
if (first_run) {
|
if (first_run) {
|
||||||
first_run = 0;
|
first_run = 0;
|
||||||
|
|||||||
@@ -2070,7 +2070,7 @@ ue_get_sdu(module_id_t module_idP, int CC_id, frame_t frameP,
|
|||||||
if (sdu_lengths[num_sdus]) {
|
if (sdu_lengths[num_sdus]) {
|
||||||
sdu_length_total += sdu_lengths[num_sdus];
|
sdu_length_total += sdu_lengths[num_sdus];
|
||||||
sdu_lcids[num_sdus] = lcid;
|
sdu_lcids[num_sdus] = lcid;
|
||||||
LOG_D(MAC,
|
LOG_I(MAC,
|
||||||
"[UE %d] TX Multiplex RLC PDU TX Got %d bytes for LcId%d\n",
|
"[UE %d] TX Multiplex RLC PDU TX Got %d bytes for LcId%d\n",
|
||||||
module_idP, sdu_lengths[num_sdus], lcid);
|
module_idP, sdu_lengths[num_sdus], lcid);
|
||||||
|
|
||||||
|
|||||||
@@ -182,6 +182,7 @@ boolean_t pdcp_data_req(
|
|||||||
(unsigned char*)&pdcp_pdu_p->data[0],
|
(unsigned char*)&pdcp_pdu_p->data[0],
|
||||||
sdu_buffer_sizeP);
|
sdu_buffer_sizeP);
|
||||||
#endif
|
#endif
|
||||||
|
LOG_D(PDCP, "Before rlc_data_req 1, srb_flagP: %d, rb_idP: %d \n", srb_flagP, rb_idP);
|
||||||
rlc_status = rlc_data_req(ctxt_pP, srb_flagP, MBMS_FLAG_YES, rb_idP, muiP, confirmP, sdu_buffer_sizeP, pdcp_pdu_p
|
rlc_status = rlc_data_req(ctxt_pP, srb_flagP, MBMS_FLAG_YES, rb_idP, muiP, confirmP, sdu_buffer_sizeP, pdcp_pdu_p
|
||||||
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
|
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
|
||||||
,NULL, NULL
|
,NULL, NULL
|
||||||
@@ -366,6 +367,7 @@ boolean_t pdcp_data_req(
|
|||||||
LOG_DUMPMSG(PDCP,DEBUG_PDCP,(char *)pdcp_pdu_p->data,pdcp_pdu_size,
|
LOG_DUMPMSG(PDCP,DEBUG_PDCP,(char *)pdcp_pdu_p->data,pdcp_pdu_size,
|
||||||
"[MSG] PDCP DL %s PDU on rb_id %d\n",(srb_flagP)? "CONTROL" : "DATA", rb_idP);
|
"[MSG] PDCP DL %s PDU on rb_id %d\n",(srb_flagP)? "CONTROL" : "DATA", rb_idP);
|
||||||
|
|
||||||
|
LOG_D(PDCP, "Before rlc_data_req 2, srb_flagP: %d, rb_idP: %d \n", srb_flagP, rb_idP);
|
||||||
rlc_status = rlc_data_req(ctxt_pP, srb_flagP, MBMS_FLAG_NO, rb_idP, muiP, confirmP, pdcp_pdu_size, pdcp_pdu_p
|
rlc_status = rlc_data_req(ctxt_pP, srb_flagP, MBMS_FLAG_NO, rb_idP, muiP, confirmP, pdcp_pdu_size, pdcp_pdu_p
|
||||||
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
|
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
|
||||||
,sourceL2Id
|
,sourceL2Id
|
||||||
@@ -471,6 +473,7 @@ pdcp_data_ind(
|
|||||||
LOG_DUMPMSG(PDCP,DEBUG_PDCP,(char *)sdu_buffer_pP->data,sdu_buffer_sizeP,
|
LOG_DUMPMSG(PDCP,DEBUG_PDCP,(char *)sdu_buffer_pP->data,sdu_buffer_sizeP,
|
||||||
"[MSG] PDCP UL %s PDU on rb_id %d\n", (srb_flagP)? "CONTROL" : "DATA", rb_idP);
|
"[MSG] PDCP UL %s PDU on rb_id %d\n", (srb_flagP)? "CONTROL" : "DATA", rb_idP);
|
||||||
|
|
||||||
|
|
||||||
#if T_TRACER
|
#if T_TRACER
|
||||||
if (ctxt_pP->enb_flag != ENB_FLAG_NO)
|
if (ctxt_pP->enb_flag != ENB_FLAG_NO)
|
||||||
T(T_ENB_PDCP_UL, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->rnti), T_INT(rb_idP), T_INT(sdu_buffer_sizeP));
|
T(T_ENB_PDCP_UL, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->rnti), T_INT(rb_idP), T_INT(sdu_buffer_sizeP));
|
||||||
@@ -800,13 +803,16 @@ pdcp_data_ind(
|
|||||||
} else {
|
} else {
|
||||||
((pdcp_data_ind_header_t*) new_sdu_p->data)->rb_id = rb_id + (ctxt_pP->module_id * LTE_maxDRB);
|
((pdcp_data_ind_header_t*) new_sdu_p->data)->rb_id = rb_id + (ctxt_pP->module_id * LTE_maxDRB);
|
||||||
}
|
}
|
||||||
((pdcp_data_ind_header_t*) new_sdu_p->data)->inst = ctxt_pP->module_id;
|
|
||||||
|
//Panos: Commented this out because it cancels the assignment in #if defined(ENABLE_USE_MME) case
|
||||||
|
//((pdcp_data_ind_header_t*) new_sdu_p->data)->inst = ctxt_pP->module_id;
|
||||||
|
|
||||||
#ifdef DEBUG_PDCP_FIFO_FLUSH_SDU
|
#ifdef DEBUG_PDCP_FIFO_FLUSH_SDU
|
||||||
static uint32_t pdcp_inst = 0;
|
static uint32_t pdcp_inst = 0;
|
||||||
((pdcp_data_ind_header_t*) new_sdu_p->data)->inst = pdcp_inst++;
|
((pdcp_data_ind_header_t*) new_sdu_p->data)->inst = pdcp_inst++;
|
||||||
LOG_D(PDCP, "inst=%d size=%d\n", ((pdcp_data_ind_header_t*) new_sdu_p->data)->inst, ((pdcp_data_ind_header_t *) new_sdu_p->data)->data_size);
|
LOG_D(PDCP, "inst=%d size=%d\n", ((pdcp_data_ind_header_t*) new_sdu_p->data)->inst, ((pdcp_data_ind_header_t *) new_sdu_p->data)->data_size);
|
||||||
#endif
|
#endif
|
||||||
|
//((pdcp_data_ind_header_t*) new_sdu_p->data)->inst = 1; //pdcp_inst++;
|
||||||
|
|
||||||
memcpy(&new_sdu_p->data[sizeof (pdcp_data_ind_header_t)], \
|
memcpy(&new_sdu_p->data[sizeof (pdcp_data_ind_header_t)], \
|
||||||
&sdu_buffer_pP->data[payload_offset], \
|
&sdu_buffer_pP->data[payload_offset], \
|
||||||
@@ -962,7 +968,7 @@ pdcp_run (
|
|||||||
RRC_DCCH_DATA_REQ (msg_p).frame,
|
RRC_DCCH_DATA_REQ (msg_p).frame,
|
||||||
0,
|
0,
|
||||||
RRC_DCCH_DATA_REQ (msg_p).eNB_index);
|
RRC_DCCH_DATA_REQ (msg_p).eNB_index);
|
||||||
LOG_I(PDCP, PROTOCOL_CTXT_FMT"Received %s from %s: instance %d, rb_id %d, muiP %d, confirmP %d, mode %d\n",
|
LOG_D(PDCP, PROTOCOL_CTXT_FMT"Received %s from %s: instance %d, rb_id %d, muiP %d, confirmP %d, mode %d\n",
|
||||||
PROTOCOL_CTXT_ARGS(&ctxt),
|
PROTOCOL_CTXT_ARGS(&ctxt),
|
||||||
ITTI_MSG_NAME (msg_p),
|
ITTI_MSG_NAME (msg_p),
|
||||||
ITTI_MSG_ORIGIN_NAME(msg_p),
|
ITTI_MSG_ORIGIN_NAME(msg_p),
|
||||||
@@ -972,6 +978,7 @@ pdcp_run (
|
|||||||
RRC_DCCH_DATA_REQ (msg_p).confirmp,
|
RRC_DCCH_DATA_REQ (msg_p).confirmp,
|
||||||
RRC_DCCH_DATA_REQ (msg_p).mode);
|
RRC_DCCH_DATA_REQ (msg_p).mode);
|
||||||
|
|
||||||
|
LOG_D(PDCP, "Before calling pdcp_data_req from pdcp_run! RRC_DCCH_DATA_REQ (msg_p).rb_id: %d \n", RRC_DCCH_DATA_REQ (msg_p).rb_id);
|
||||||
result = pdcp_data_req (&ctxt,
|
result = pdcp_data_req (&ctxt,
|
||||||
SRB_FLAG_YES,
|
SRB_FLAG_YES,
|
||||||
RRC_DCCH_DATA_REQ (msg_p).rb_id,
|
RRC_DCCH_DATA_REQ (msg_p).rb_id,
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ int pdcp_fifo_flush_sdus(const protocol_ctxt_t* const ctxt_pP)
|
|||||||
((pdcp_data_ind_header_t*) sdu_p->data)->inst,
|
((pdcp_data_ind_header_t*) sdu_p->data)->inst,
|
||||||
((pdcp_data_ind_header_t *) sdu_p->data)->data_size);
|
((pdcp_data_ind_header_t *) sdu_p->data)->data_size);
|
||||||
#else
|
#else
|
||||||
((pdcp_data_ind_header_t *)(sdu_p->data))->inst = 0;
|
//((pdcp_data_ind_header_t *)(sdu_p->data))->inst = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(LINK_ENB_PDCP_TO_GTPV1U)
|
#if defined(LINK_ENB_PDCP_TO_GTPV1U)
|
||||||
@@ -195,7 +195,7 @@ int pdcp_fifo_flush_sdus(const protocol_ctxt_t* const ctxt_pP)
|
|||||||
|
|
||||||
#endif /* defined(ENABLE_USE_MME) */
|
#endif /* defined(ENABLE_USE_MME) */
|
||||||
#ifdef PDCP_DEBUG
|
#ifdef PDCP_DEBUG
|
||||||
LOG_D(PDCP, "PDCP->IP TTI %d INST %d: Preparing %d Bytes of data from rab %d to Nas_mesh\n",
|
LOG_I(PDCP, "PDCP->IP TTI %d INST %d: Preparing %d Bytes of data from rab %d to Nas_mesh\n",
|
||||||
ctxt_pP->frame, ((pdcp_data_ind_header_t *)(sdu_p->data))->inst,
|
ctxt_pP->frame, ((pdcp_data_ind_header_t *)(sdu_p->data))->inst,
|
||||||
((pdcp_data_ind_header_t *)(sdu_p->data))->data_size, ((pdcp_data_ind_header_t *)(sdu_p->data))->rb_id);
|
((pdcp_data_ind_header_t *)(sdu_p->data))->data_size, ((pdcp_data_ind_header_t *)(sdu_p->data))->rb_id);
|
||||||
#endif //PDCP_DEBUG
|
#endif //PDCP_DEBUG
|
||||||
@@ -719,11 +719,11 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const ctxt_pP)
|
|||||||
if (!ctxt.enb_flag) {
|
if (!ctxt.enb_flag) {
|
||||||
if (rab_id != 0) {
|
if (rab_id != 0) {
|
||||||
if (rab_id == UE_IP_DEFAULT_RAB_ID) {
|
if (rab_id == UE_IP_DEFAULT_RAB_ID) {
|
||||||
LOG_I(PDCP, "PDCP_COLL_KEY_DEFAULT_DRB_VALUE(module_id=%d, rnti=%x, enb_flag=%d)\n",
|
LOG_D(PDCP, "PDCP_COLL_KEY_DEFAULT_DRB_VALUE(module_id=%d, rnti=%x, enb_flag=%d)\n",
|
||||||
ctxt.module_id, ctxt.rnti, ctxt.enb_flag);
|
ctxt.module_id, ctxt.rnti, ctxt.enb_flag);
|
||||||
key = PDCP_COLL_KEY_DEFAULT_DRB_VALUE(ctxt.module_id, ctxt.rnti, ctxt.enb_flag);
|
key = PDCP_COLL_KEY_DEFAULT_DRB_VALUE(ctxt.module_id, ctxt.rnti, ctxt.enb_flag);
|
||||||
h_rc = hashtable_get(pdcp_coll_p, key, (void**)&pdcp_p);
|
h_rc = hashtable_get(pdcp_coll_p, key, (void**)&pdcp_p);
|
||||||
LOG_I(PDCP,"request key %x : (%d,%x,%d,%d)\n",
|
LOG_D(PDCP,"request key %x : (%d,%x,%d,%d)\n",
|
||||||
(uint8_t)key,ctxt.module_id, ctxt.rnti, ctxt.enb_flag, rab_id);
|
(uint8_t)key,ctxt.module_id, ctxt.rnti, ctxt.enb_flag, rab_id);
|
||||||
} else {
|
} else {
|
||||||
rab_id = rab_id % LTE_maxDRB;
|
rab_id = rab_id % LTE_maxDRB;
|
||||||
|
|||||||
@@ -403,11 +403,18 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
|
|||||||
key = RLC_COLL_KEY_MBMS_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, mbms_id_p->service_id, mbms_id_p->session_id);
|
key = RLC_COLL_KEY_MBMS_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, mbms_id_p->service_id, mbms_id_p->session_id);
|
||||||
}
|
}
|
||||||
if (sourceL2Id && destinationL2Id){
|
if (sourceL2Id && destinationL2Id){
|
||||||
key = RLC_COLL_KEY_SOURCE_DEST_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, *sourceL2Id, *destinationL2Id, srb_flagP);
|
LOG_I (RLC, "RLC_COLL_KEY_VALUE: ctxt_pP->module_id: %d, ctxt_pP->rnti: %d, ctxt_pP->enb_flag: %d, rb_idP:%d, srb_flagP: %d \n \n", ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, srb_flagP);
|
||||||
|
key = RLC_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, srb_flagP);
|
||||||
|
|
||||||
|
//Thinh's line originally uncommented
|
||||||
|
//key = RLC_COLL_KEY_SOURCE_DEST_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, *sourceL2Id, *destinationL2Id, srb_flagP);
|
||||||
|
|
||||||
|
|
||||||
//key_lcid = RLC_COLL_KEY_LCID_SOURCE_DEST_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, chan_idP, *sourceL2Id, *destinationL2Id, srb_flagP);
|
//key_lcid = RLC_COLL_KEY_LCID_SOURCE_DEST_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, chan_idP, *sourceL2Id, *destinationL2Id, srb_flagP);
|
||||||
} else
|
} else
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
|
LOG_I (RLC, "RLC_COLL_KEY_VALUE: ctxt_pP->module_id: %d, ctxt_pP->rnti: %d, ctxt_pP->enb_flag: %d, rb_idP:%d, srb_flagP: %d \n \n", ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, srb_flagP);
|
||||||
key = RLC_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, srb_flagP);
|
key = RLC_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, srb_flagP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -254,6 +254,7 @@ void mac_rlc_data_ind (
|
|||||||
srb_flag_t srb_flag = (channel_idP <= 2) ? SRB_FLAG_YES : SRB_FLAG_NO;
|
srb_flag_t srb_flag = (channel_idP <= 2) ? SRB_FLAG_YES : SRB_FLAG_NO;
|
||||||
protocol_ctxt_t ctxt;
|
protocol_ctxt_t ctxt;
|
||||||
|
|
||||||
|
|
||||||
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, module_idP, enb_flagP, rntiP, frameP, 0, eNB_index);
|
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, module_idP, enb_flagP, rntiP, frameP, 0, eNB_index);
|
||||||
|
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_MAC_RLC_DATA_IND,VCD_FUNCTION_IN);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_MAC_RLC_DATA_IND,VCD_FUNCTION_IN);
|
||||||
|
|||||||
Reference in New Issue
Block a user