Commit 57dec19a authored by Sakthivel Velumani's avatar Sakthivel Velumani

fixed thread init; ulsim runs fine

parent 478c7352
...@@ -293,7 +293,7 @@ uint32_t nr_processULSegment(void* arg) { ...@@ -293,7 +293,7 @@ uint32_t nr_processULSegment(void* arg) {
ldpcDecode_t *rdata = (ldpcDecode_t*) arg; ldpcDecode_t *rdata = (ldpcDecode_t*) arg;
PHY_VARS_gNB *phy_vars_gNB = rdata->gNB; PHY_VARS_gNB *phy_vars_gNB = rdata->gNB;
NR_UL_gNB_HARQ_t *ulsch_harq = rdata->ulsch_harq; NR_UL_gNB_HARQ_t *ulsch_harq = rdata->ulsch_harq;
t_nrLDPC_dec_params *p_decoderParms = rdata->p_decoderParms; t_nrLDPC_dec_params *p_decoderParms = &rdata->decoderParms;
int length_dec; int length_dec;
int no_iteration_ldpc; int no_iteration_ldpc;
int Kr; int Kr;
...@@ -311,7 +311,7 @@ uint32_t nr_processULSegment(void* arg) { ...@@ -311,7 +311,7 @@ uint32_t nr_processULSegment(void* arg) {
uint8_t kc = rdata->Kc; uint8_t kc = rdata->Kc;
uint32_t Tbslbrm = rdata->Tbslbrm; uint32_t Tbslbrm = rdata->Tbslbrm;
short* ulsch_llr = rdata->ulsch_llr; short* ulsch_llr = rdata->ulsch_llr;
int max_ldpc_iterations = rdata->p_decoderParms->numMaxIter; int max_ldpc_iterations = p_decoderParms->numMaxIter;
int8_t llrProcBuf[OAI_UL_LDPC_MAX_NUM_LLR] __attribute__ ((aligned(32))); int8_t llrProcBuf[OAI_UL_LDPC_MAX_NUM_LLR] __attribute__ ((aligned(32)));
int16_t z [68*384]; int16_t z [68*384];
...@@ -617,7 +617,7 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB, ...@@ -617,7 +617,7 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB,
rdata->gNB = phy_vars_gNB; rdata->gNB = phy_vars_gNB;
rdata->ulsch_harq = harq_process; rdata->ulsch_harq = harq_process;
rdata->p_decoderParms = p_decParams; rdata->decoderParms = decParams;
rdata->ulsch_llr = ulsch_llr; rdata->ulsch_llr = ulsch_llr;
rdata->Kc = kc; rdata->Kc = kc;
rdata->harq_pid = harq_pid; rdata->harq_pid = harq_pid;
......
...@@ -812,7 +812,7 @@ typedef struct PHY_VARS_gNB_s { ...@@ -812,7 +812,7 @@ typedef struct PHY_VARS_gNB_s {
typedef struct LDPCDecode_s { typedef struct LDPCDecode_s {
PHY_VARS_gNB *gNB; PHY_VARS_gNB *gNB;
NR_UL_gNB_HARQ_t *ulsch_harq; NR_UL_gNB_HARQ_t *ulsch_harq;
t_nrLDPC_dec_params *p_decoderParms; t_nrLDPC_dec_params decoderParms;
NR_gNB_ULSCH_t *ulsch; NR_gNB_ULSCH_t *ulsch;
short* ulsch_llr; short* ulsch_llr;
int ulsch_id; int ulsch_id;
......
...@@ -231,7 +231,7 @@ void nr_postDecode(PHY_VARS_gNB *gNB, notifiedFIFO_elt_t *req) { ...@@ -231,7 +231,7 @@ void nr_postDecode(PHY_VARS_gNB *gNB, notifiedFIFO_elt_t *req) {
NR_gNB_ULSCH_t *ulsch = rdata->ulsch; NR_gNB_ULSCH_t *ulsch = rdata->ulsch;
int r = rdata->segment_r; int r = rdata->segment_r;
bool decodeSuccess = (rdata->decodeIterations <= rdata->p_decoderParms->numMaxIter); bool decodeSuccess = (rdata->decodeIterations <= rdata->decoderParms.numMaxIter);
ulsch_harq->processedSegments++; ulsch_harq->processedSegments++;
LOG_D(PHY, "processing result of segment: %d, processed %d/%d\n", LOG_D(PHY, "processing result of segment: %d, processed %d/%d\n",
rdata->segment_r, ulsch_harq->processedSegments, rdata->nbSegments); rdata->segment_r, ulsch_harq->processedSegments, rdata->nbSegments);
......
...@@ -473,7 +473,8 @@ int main(int argc, char **argv) ...@@ -473,7 +473,8 @@ int main(int argc, char **argv)
gNB = RC.gNB[0]; gNB = RC.gNB[0];
gNB->threadPool = (tpool_t*)malloc(sizeof(tpool_t)); gNB->threadPool = (tpool_t*)malloc(sizeof(tpool_t));
gNB->respDecode = (notifiedFIFO_t*) malloc(sizeof(notifiedFIFO_t)); gNB->respDecode = (notifiedFIFO_t*) malloc(sizeof(notifiedFIFO_t));
initTpool("n", gNB->threadPool, true); char tp_param[] = "-1,-1,-1,-1,-1,-1";
initTpool(tp_param, gNB->threadPool, false);
initNotifiedFIFO(gNB->respDecode); initNotifiedFIFO(gNB->respDecode);
//gNB_config = &gNB->gNB_config; //gNB_config = &gNB->gNB_config;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment