Commit f622bded authored by Sakthivel Velumani's avatar Sakthivel Velumani

Replacing tryPull by pull for L1 rx

parent ff05ec89
...@@ -915,11 +915,12 @@ void init_gNB_Tpool(int inst) { ...@@ -915,11 +915,12 @@ void init_gNB_Tpool(int inst) {
gNB->resp_L1 = (notifiedFIFO_t*) malloc(sizeof(notifiedFIFO_t)); gNB->resp_L1 = (notifiedFIFO_t*) malloc(sizeof(notifiedFIFO_t));
initTpool("-1", gNB->threadPool_L1, false); initTpool("-1", gNB->threadPool_L1, false);
initNotifiedFIFO(gNB->resp_L1); initNotifiedFIFO(gNB->resp_L1);
pushNotifiedFIFO_nothreadSafe(gNB->resp_L1, newNotifiedFIFO_elt(20, 0,NULL,NULL));
// L1 TX threadpool // L1 TX threadpool
gNB->threadPool_L1_tx = (tpool_t*)malloc(sizeof(tpool_t)); gNB->threadPool_L1_tx = (tpool_t*)malloc(sizeof(tpool_t));
gNB->resp_L1_tx = (notifiedFIFO_t*) malloc(sizeof(notifiedFIFO_t)); gNB->resp_L1_tx = (notifiedFIFO_t*) malloc(sizeof(notifiedFIFO_t));
initTpool("-1",gNB->threadPool_L1_tx, false); initTpool("-1,-1,-1",gNB->threadPool_L1_tx, false);
initNotifiedFIFO(gNB->resp_L1_tx); initNotifiedFIFO(gNB->resp_L1_tx);
// RU TX threadpool // RU TX threadpool
......
...@@ -1821,6 +1821,7 @@ void *ru_thread( void *param ) { ...@@ -1821,6 +1821,7 @@ void *ru_thread( void *param ) {
if (ru->fh_south_in) ru->fh_south_in(ru,&frame,&slot); if (ru->fh_south_in) ru->fh_south_in(ru,&frame,&slot);
else AssertFatal(1==0, "No fronthaul interface at south port"); else AssertFatal(1==0, "No fronthaul interface at south port");
proc->timestamp_tx = proc->timestamp_rx + (sf_ahead*fp->samples_per_subframe);
proc->frame_tx = (proc->tti_rx > (fp->slots_per_frame-1-(fp->slots_per_subframe*sf_ahead))) ? (proc->frame_rx+1)&1023 : proc->frame_rx; proc->frame_tx = (proc->tti_rx > (fp->slots_per_frame-1-(fp->slots_per_subframe*sf_ahead))) ? (proc->frame_rx+1)&1023 : proc->frame_rx;
proc->tti_tx = (proc->tti_rx + (fp->slots_per_subframe*sf_ahead))%fp->slots_per_frame; proc->tti_tx = (proc->tti_rx + (fp->slots_per_subframe*sf_ahead))%fp->slots_per_frame;
...@@ -1904,7 +1905,7 @@ void *ru_thread( void *param ) { ...@@ -1904,7 +1905,7 @@ void *ru_thread( void *param ) {
syncMsg->slot_tx = proc->tti_tx; syncMsg->slot_tx = proc->tti_tx;
// check if previous L1 slot processing is finished // check if previous L1 slot processing is finished
res = tryPullTpool(gNB->resp_L1, gNB->threadPool_L1); res = pullTpool(gNB->resp_L1, gNB->threadPool_L1);
if (res == NULL) { if (res == NULL) {
LOG_W(PHY,"L1 RX of previous slot is still being processed. Adding current slot to queue (%d.%d)\n", proc->frame_rx, proc->tti_rx); LOG_W(PHY,"L1 RX of previous slot is still being processed. Adding current slot to queue (%d.%d)\n", proc->frame_rx, proc->tti_rx);
} }
......
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