diff --git a/openair1/PHY/CODING/TESTBENCH/ldpctest.c b/openair1/PHY/CODING/TESTBENCH/ldpctest.c index 717501f232..8229862abf 100644 --- a/openair1/PHY/CODING/TESTBENCH/ldpctest.c +++ b/openair1/PHY/CODING/TESTBENCH/ldpctest.c @@ -494,8 +494,8 @@ int test_ldpc(short No_iteration, //free(channel_output_fixed); //free(estimated_output); - //nrLDPC_free_mem(p_nrLDPC_procBuf); - + nrLDPC_free_mem(p_nrLDPC_procBuf); + print_meas(&time,"ldpc_encoder",NULL,NULL); print_meas(time_optim,"ldpc_encoder_optim",NULL,NULL); print_meas(&tinput,"ldpc_encoder_optim(input)",NULL,NULL); diff --git a/openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c b/openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c index 448c01c397..10794c0a3e 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c +++ b/openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c @@ -219,6 +219,9 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue, t_nrLDPC_dec_params* p_decParams = &decParams; t_nrLDPC_time_stats procTime; t_nrLDPC_time_stats* p_procTime =&procTime ; + // Pointer to LDPC processing buffer of thread 0 + t_nrLDPC_procBuf* p_nrLDPC_procBuf = phy_vars_ue->p_nrLDPC_procBuf[0]; + int16_t z [68*384]; int8_t l [68*384]; //__m128i l; @@ -506,7 +509,8 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue, no_iteration_ldpc = nrLDPC_decoder(p_decParams, (int8_t*)&pl[0], llrProcBuf, - p_procTime); + p_nrLDPC_procBuf, + p_procTime); /* if (check_crc(llrProcBuf,Kr,harq_process->F,crc_type)) { @@ -692,6 +696,8 @@ uint32_t nr_dlsch_decoding_mthread(PHY_VARS_NR_UE *phy_vars_ue, t_nrLDPC_dec_params* p_decParams = &decParams; t_nrLDPC_time_stats procTime; t_nrLDPC_time_stats* p_procTime =&procTime ; + // Pointer to LDPC processing buffer of thread 0 + t_nrLDPC_procBuf* p_nrLDPC_procBuf = phy_vars_ue->p_nrLDPC_procBuf[0]; int16_t z [68*384]; int8_t l [68*384]; //__m128i l; @@ -1091,6 +1097,7 @@ if (harq_process->C>1) { // wakeup worker if more than 1 segment no_iteration_ldpc = nrLDPC_decoder(p_decParams, (int8_t*)&pl[0], llrProcBuf, + p_nrLDPC_procBuf, p_procTime); nb_total_decod++; @@ -1274,6 +1281,8 @@ void *nr_dlsch_decoding_2thread0(void *arg) t_nrLDPC_dec_params* p_decParams = &decParams; t_nrLDPC_time_stats procTime; t_nrLDPC_time_stats* p_procTime =&procTime ; + // Pointer to LDPC processing buffer of thread 0 + t_nrLDPC_procBuf* p_nrLDPC_procBuf = phy_vars_ue->p_nrLDPC_procBuf[0]; int16_t z [68*384]; int8_t l [68*384]; //__m128i l; @@ -1607,6 +1616,7 @@ void *nr_dlsch_decoding_2thread0(void *arg) no_iteration_ldpc = nrLDPC_decoder(p_decParams, (int8_t*)&pl[0], llrProcBuf, + p_nrLDPC_procBuf, p_procTime); if (no_iteration_ldpc > 10) @@ -1779,6 +1789,8 @@ void *nr_dlsch_decoding_2thread1(void *arg) t_nrLDPC_dec_params* p_decParams = &decParams; t_nrLDPC_time_stats procTime; t_nrLDPC_time_stats* p_procTime =&procTime ; + // Pointer to LDPC processing buffer of thread 1 + t_nrLDPC_procBuf* p_nrLDPC_procBuf = phy_vars_ue->p_nrLDPC_procBuf[1]; int16_t z [68*384]; int8_t l [68*384]; //__m128i l; @@ -2111,6 +2123,7 @@ void *nr_dlsch_decoding_2thread1(void *arg) no_iteration_ldpc = nrLDPC_decoder(p_decParams, (int8_t*)&pl[0], llrProcBuf, + p_nrLDPC_procBuf, p_procTime); if (no_iteration_ldpc > 10) diff --git a/openair1/PHY/defs_nr_UE.h b/openair1/PHY/defs_nr_UE.h index e182e3e3a9..a374aba941 100644 --- a/openair1/PHY/defs_nr_UE.h +++ b/openair1/PHY/defs_nr_UE.h @@ -158,7 +158,7 @@ #include "targets/ARCH/COMMON/common_lib.h" #include "NR_IF_Module.h" -#include "PHY/CODING/nrLDPC_decoder/nrLDPC_types.h" +#include "PHY/CODING/nrLDPC_decoder/nrLDPC_init_mem.h" /// Context data structure for RX/TX portion of subframe processing typedef struct {