rebase to develop
This commit is contained in:
@@ -776,12 +776,6 @@ void init_NR_UE_threads(int nb_inst) {
|
||||
|
||||
LOG_I(PHY,"Intializing UE Threads for instance %d (%p,%p)...\n",inst,PHY_vars_UE_g[inst],PHY_vars_UE_g[inst][0]);
|
||||
threadCreate(&threads[inst], UE_thread, (void *)UE, "UEthread", -1, OAI_PRIORITY_RT_MAX);
|
||||
|
||||
if(get_nrUE_params()->nr_dlsch_parallel)
|
||||
{
|
||||
pthread_t dlsch0_threads;
|
||||
threadCreate(&dlsch0_threads, dlsch_thread, (void *)UE, "DLthread", -1, OAI_PRIORITY_RT_MAX-1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1087,22 +1087,6 @@ uint8_t nr_ue_pusch_common_procedures(PHY_VARS_NR_UE *UE,
|
||||
NR_DL_FRAME_PARMS *frame_parms,
|
||||
uint8_t Nl);
|
||||
|
||||
|
||||
|
||||
uint32_t nr_dlsch_decoding_mthread(PHY_VARS_NR_UE *phy_vars_ue,
|
||||
UE_nr_rxtx_proc_t *proc,
|
||||
int eNB_id,
|
||||
short *dlsch_llr,
|
||||
NR_DL_FRAME_PARMS *frame_parms,
|
||||
NR_UE_DLSCH_t *dlsch,
|
||||
NR_DL_UE_HARQ_t *harq_process,
|
||||
uint32_t frame,
|
||||
uint16_t nb_symb_sch,
|
||||
uint8_t nr_slot_rx,
|
||||
uint8_t harq_pid,
|
||||
uint8_t is_crnti,
|
||||
uint8_t llr8_flag);
|
||||
|
||||
void *nr_dlsch_decoding_2thread0(void *arg);
|
||||
|
||||
void *nr_dlsch_decoding_2thread1(void *arg);
|
||||
@@ -1750,8 +1734,6 @@ int nr_rx_pdsch(PHY_VARS_NR_UE *ue,
|
||||
int32_t generate_nr_prach(PHY_VARS_NR_UE *ue, uint8_t gNB_id, uint8_t subframe);
|
||||
|
||||
void dump_nrdlsch(PHY_VARS_NR_UE *ue,uint8_t gNB_id,uint8_t nr_slot_rx,unsigned int *coded_bits_per_codeword,int round, unsigned char harq_pid);
|
||||
|
||||
void *dlsch_thread(void *arg);
|
||||
/**@}*/
|
||||
#endif
|
||||
|
||||
|
||||
@@ -256,6 +256,8 @@ typedef struct {
|
||||
int8_t delta_PUCCH;
|
||||
/// Number of soft channel bits
|
||||
uint32_t G;
|
||||
/// Number of segments processed so far
|
||||
uint32_t processedSegments;
|
||||
/// Start PRB of BWP
|
||||
uint16_t BWPStart;
|
||||
/// Number of PRBs in BWP
|
||||
|
||||
@@ -1068,7 +1068,7 @@ typedef struct {
|
||||
#endif
|
||||
|
||||
int dl_stats[5];
|
||||
|
||||
int nbDecode;
|
||||
} PHY_VARS_NR_UE;
|
||||
|
||||
/* this structure is used to pass both UE phy vars and
|
||||
@@ -1081,5 +1081,27 @@ typedef struct nr_rxtx_thread_data_s {
|
||||
notifiedFIFO_t txFifo;
|
||||
} nr_rxtx_thread_data_t;
|
||||
|
||||
typedef struct LDPCDecode_ue_s {
|
||||
PHY_VARS_NR_UE *phy_vars_ue;
|
||||
NR_DL_UE_HARQ_t *harq_process;
|
||||
t_nrLDPC_dec_params decoderParms;
|
||||
NR_UE_DLSCH_t *dlsch;
|
||||
short* dlsch_llr;
|
||||
int dlsch_id;
|
||||
int harq_pid;
|
||||
int rv_index;
|
||||
int A;
|
||||
int E;
|
||||
int Kc;
|
||||
int Qm;
|
||||
int Kr_bytes;
|
||||
int nbSegments;
|
||||
int segment_r;
|
||||
int r_offset;
|
||||
int offset;
|
||||
int Tbslbrm;
|
||||
int decodeIterations;
|
||||
} ldpcDecode_ue_t;
|
||||
|
||||
#include "SIMULATION/ETH_TRANSPORT/defs.h"
|
||||
#endif
|
||||
|
||||
@@ -980,37 +980,23 @@ bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
|
||||
|
||||
start_meas(&ue->dlsch_decoding_stats[proc->thread_id]);
|
||||
|
||||
ret = nr_dlsch_decoding(ue,
|
||||
proc,
|
||||
gNB_id,
|
||||
pdsch_vars->llr[0],
|
||||
&ue->frame_parms,
|
||||
dlsch0,
|
||||
dlsch0->harq_processes[harq_pid],
|
||||
frame_rx,
|
||||
nb_symb_sch,
|
||||
nr_slot_rx,
|
||||
harq_pid,
|
||||
pdsch==PDSCH?1:0,
|
||||
dlsch0->harq_processes[harq_pid]->TBS>256?1:0);
|
||||
if( dlsch_parallel) {
|
||||
ret = nr_dlsch_decoding_mthread(ue,
|
||||
proc,
|
||||
gNB_id,
|
||||
pdsch_vars->llr[0],
|
||||
&ue->frame_parms,
|
||||
dlsch0,
|
||||
dlsch0->harq_processes[harq_pid],
|
||||
frame_rx,
|
||||
nb_symb_sch,
|
||||
nr_slot_rx,
|
||||
harq_pid,
|
||||
pdsch==PDSCH?1:0,
|
||||
dlsch0->harq_processes[harq_pid]->TBS>256?1:0);
|
||||
|
||||
LOG_T(PHY,"dlsch decoding is parallelized, ret = %d\n", ret);
|
||||
}
|
||||
else {
|
||||
ret = nr_dlsch_decoding(ue,
|
||||
proc,
|
||||
gNB_id,
|
||||
pdsch_vars->llr[0],
|
||||
&ue->frame_parms,
|
||||
dlsch0,
|
||||
dlsch0->harq_processes[harq_pid],
|
||||
frame_rx,
|
||||
nb_symb_sch,
|
||||
nr_slot_rx,
|
||||
harq_pid,
|
||||
pdsch==PDSCH?1:0,
|
||||
dlsch0->harq_processes[harq_pid]->TBS>256?1:0);
|
||||
LOG_T(PHY,"Sequential dlsch decoding , ret = %d\n", ret);
|
||||
}
|
||||
|
||||
@@ -1082,36 +1068,24 @@ bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
|
||||
start_meas(&ue->dlsch_decoding_stats[proc->thread_id]);
|
||||
|
||||
|
||||
ret1 = nr_dlsch_decoding(ue,
|
||||
proc,
|
||||
gNB_id,
|
||||
pdsch_vars->llr[1],
|
||||
&ue->frame_parms,
|
||||
dlsch1,
|
||||
dlsch1->harq_processes[harq_pid],
|
||||
frame_rx,
|
||||
nb_symb_sch,
|
||||
nr_slot_rx,
|
||||
harq_pid,
|
||||
pdsch==PDSCH?1:0,//proc->decoder_switch,
|
||||
dlsch1->harq_processes[harq_pid]->TBS>256?1:0);
|
||||
if(dlsch_parallel) {
|
||||
ret1 = nr_dlsch_decoding_mthread(ue,
|
||||
proc,
|
||||
gNB_id,
|
||||
pdsch_vars->llr[1],
|
||||
&ue->frame_parms,
|
||||
dlsch1,
|
||||
dlsch1->harq_processes[harq_pid],
|
||||
frame_rx,
|
||||
nb_symb_sch,
|
||||
nr_slot_rx,
|
||||
harq_pid,
|
||||
pdsch==PDSCH?1:0,
|
||||
dlsch1->harq_processes[harq_pid]->TBS>256?1:0);
|
||||
LOG_T(PHY,"CW dlsch decoding is parallelized, ret1 = %d\n", ret1);
|
||||
}
|
||||
else {
|
||||
ret1 = nr_dlsch_decoding(ue,
|
||||
proc,
|
||||
gNB_id,
|
||||
pdsch_vars->llr[1],
|
||||
&ue->frame_parms,
|
||||
dlsch1,
|
||||
dlsch1->harq_processes[harq_pid],
|
||||
frame_rx,
|
||||
nb_symb_sch,
|
||||
nr_slot_rx,
|
||||
harq_pid,
|
||||
pdsch==PDSCH?1:0,//proc->decoder_switch,
|
||||
dlsch1->harq_processes[harq_pid]->TBS>256?1:0);
|
||||
|
||||
LOG_T(PHY,"CWW sequential dlsch decoding, ret1 = %d\n", ret1);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user