Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zzha zzha
OpenXG-RAN
Commits
76999244
Commit
76999244
authored
Oct 21, 2018
by
magounak
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
deleting prints
parent
ea11edad
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
22 additions
and
22 deletions
+22
-22
openair1/SCHED/fapi_l1.c
openair1/SCHED/fapi_l1.c
+1
-1
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+1
-1
targets/RT/USER/lte-enb.c
targets/RT/USER/lte-enb.c
+17
-17
targets/RT/USER/lte-ru.c
targets/RT/USER/lte-ru.c
+3
-3
No files found.
openair1/SCHED/fapi_l1.c
View file @
76999244
...
@@ -703,7 +703,7 @@ void schedule_response(Sched_Rsp_t *Sched_INFO)
...
@@ -703,7 +703,7 @@ void schedule_response(Sched_Rsp_t *Sched_INFO)
NFAPI_SFNSF2SFN
(
HI_DCI0_req
->
sfn_sf
),
NFAPI_SFNSF2SF
(
HI_DCI0_req
->
sfn_sf
),
number_hi_dci0_pdu
NFAPI_SFNSF2SFN
(
HI_DCI0_req
->
sfn_sf
),
NFAPI_SFNSF2SF
(
HI_DCI0_req
->
sfn_sf
),
number_hi_dci0_pdu
);
);
if
(
UL_req
!=
NULL
)
if
(
UL_req
!=
NULL
)
LOG_
I
(
PHY
,
"NFAPI: ul_cfg:SFN/SF:%04d%d:pdus:%d num_pdcch_symbols:%d
\n
"
,
LOG_
D
(
PHY
,
"NFAPI: ul_cfg:SFN/SF:%04d%d:pdus:%d num_pdcch_symbols:%d
\n
"
,
NFAPI_SFNSF2SFN
(
UL_req
->
sfn_sf
),
NFAPI_SFNSF2SF
(
UL_req
->
sfn_sf
),
number_ul_pdu
,
NFAPI_SFNSF2SFN
(
UL_req
->
sfn_sf
),
NFAPI_SFNSF2SF
(
UL_req
->
sfn_sf
),
number_ul_pdu
,
eNB
->
pdcch_vars
[
subframe
&
1
].
num_pdcch_symbols
);
eNB
->
pdcch_vars
[
subframe
&
1
].
num_pdcch_symbols
);
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
76999244
...
@@ -189,7 +189,7 @@ void common_signal_procedures (PHY_VARS_eNB *eNB,int frame, int subframe) {
...
@@ -189,7 +189,7 @@ void common_signal_procedures (PHY_VARS_eNB *eNB,int frame, int subframe) {
int
**
txdataF
=
eNB
->
common_vars
.
txdataF
;
int
**
txdataF
=
eNB
->
common_vars
.
txdataF
;
uint8_t
*
pbch_pdu
=&
eNB
->
pbch_pdu
[
0
];
uint8_t
*
pbch_pdu
=&
eNB
->
pbch_pdu
[
0
];
LOG_
I
(
PHY
,
"common_signal_procedures: frame %d, subframe %d fdd:%s dir:%s
\n
"
,
frame
,
subframe
,
fp
->
frame_type
==
FDD
?
"FDD"
:
"TDD"
,
subframe_select
(
fp
,
subframe
)
==
SF_DL
?
"DL"
:
"UL?"
);
LOG_
D
(
PHY
,
"common_signal_procedures: frame %d, subframe %d fdd:%s dir:%s
\n
"
,
frame
,
subframe
,
fp
->
frame_type
==
FDD
?
"FDD"
:
"TDD"
,
subframe_select
(
fp
,
subframe
)
==
SF_DL
?
"DL"
:
"UL?"
);
// generate Cell-Specific Reference Signals for both slots
// generate Cell-Specific Reference Signals for both slots
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_RS_TX
,
1
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_RS_TX
,
1
);
...
...
targets/RT/USER/lte-enb.c
View file @
76999244
...
@@ -238,7 +238,7 @@ static inline int rxtx(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, char *thread_nam
...
@@ -238,7 +238,7 @@ static inline int rxtx(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, char *thread_nam
LOG_E
(
PHY
,
"Frame %d, subframe %d: TX1 not ready
\n
"
,
proc
[
1
].
frame_rx
,
proc
[
1
].
subframe_rx
);
LOG_E
(
PHY
,
"Frame %d, subframe %d: TX1 not ready
\n
"
,
proc
[
1
].
frame_rx
,
proc
[
1
].
subframe_rx
);
return
(
-
1
);
return
(
-
1
);
}
}
//printf(
"Passed rxtx, proc1->cond_rxtx, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d\n", proc->frame_rx,proc->subframe_rx,proc->frame_tx,proc->subframe_tx);
LOG_D
(
PHY
,
"Passed rxtx, proc1->cond_rxtx, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d
\n
"
,
proc
->
frame_rx
,
proc
->
subframe_rx
,
proc
->
frame_tx
,
proc
->
subframe_tx
);
if
(
release_thread
(
&
proc
[
1
].
mutex_rxtx
,
&
proc
[
1
].
pipe_ready
,
"wakeup_tx"
)
<
0
)
return
(
-
1
);
if
(
release_thread
(
&
proc
[
1
].
mutex_rxtx
,
&
proc
[
1
].
pipe_ready
,
"wakeup_tx"
)
<
0
)
return
(
-
1
);
}
}
...
@@ -328,9 +328,9 @@ static void* tx_thread(void* param) {
...
@@ -328,9 +328,9 @@ static void* tx_thread(void* param) {
//wait_sync("tx_thread");
//wait_sync("tx_thread");
while
(
!
oai_exit
)
{
while
(
!
oai_exit
)
{
//printf(
"Entering tx_thread, proc1->cond_rxtx, proc1->instance_cnt_rxtx, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d\n", proc->frame_rx,proc->subframe_rx,proc->frame_tx,proc->subframe_tx);
LOG_D
(
PHY
,
"Entering tx_thread, proc1->cond_rxtx, proc1->instance_cnt_rxtx, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d
\n
"
,
proc
->
frame_rx
,
proc
->
subframe_rx
,
proc
->
frame_tx
,
proc
->
subframe_tx
);
if
(
wait_on_condition
(
&
proc
->
mutex_rxtx
,
&
proc
->
cond_rxtx
,
&
proc
->
instance_cnt_rxtx
,
thread_name
)
<
0
)
break
;
if
(
wait_on_condition
(
&
proc
->
mutex_rxtx
,
&
proc
->
cond_rxtx
,
&
proc
->
instance_cnt_rxtx
,
thread_name
)
<
0
)
break
;
//printf(
"Passed tx_thread proc1->cond_rxtx, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d\n", proc->frame_rx,proc->subframe_rx,proc->frame_tx,proc->subframe_tx);
LOG_D
(
PHY
,
"Passed tx_thread proc1->cond_rxtx, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d
\n
"
,
proc
->
frame_rx
,
proc
->
subframe_rx
,
proc
->
frame_tx
,
proc
->
subframe_tx
);
if
(
oai_exit
)
break
;
if
(
oai_exit
)
break
;
// *****************************************
// *****************************************
// TX processing for subframe n+4
// TX processing for subframe n+4
...
@@ -352,7 +352,7 @@ if (oai_exit) break;
...
@@ -352,7 +352,7 @@ if (oai_exit) break;
LOG_E
(
PHY
,
"[eNB] ERROR pthread_cond_signal for eNB TXnp4 thread
\n
"
);
LOG_E
(
PHY
,
"[eNB] ERROR pthread_cond_signal for eNB TXnp4 thread
\n
"
);
exit_fun
(
"ERROR pthread_cond_signal"
);
exit_fun
(
"ERROR pthread_cond_signal"
);
}
}
//printf(
"Sent tx_thread, proc1->cond_rxtx to tx_thread, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d\n", proc->frame_rx,proc->subframe_rx,proc->frame_tx,proc->subframe_tx);
LOG_D
(
PHY
,
"Sent tx_thread, proc1->cond_rxtx to tx_thread, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d
\n
"
,
proc
->
frame_rx
,
proc
->
subframe_rx
,
proc
->
frame_tx
,
proc
->
subframe_tx
);
pthread_mutex_unlock
(
&
proc
->
mutex_rxtx
);
pthread_mutex_unlock
(
&
proc
->
mutex_rxtx
);
wakeup_txfh
(
proc
,
eNB
);
wakeup_txfh
(
proc
,
eNB
);
}
}
...
@@ -407,9 +407,9 @@ static void* eNB_thread_rxtx( void* param ) {
...
@@ -407,9 +407,9 @@ static void* eNB_thread_rxtx( void* param ) {
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_eNB_PROC_RXTX0
+
(
proc
->
subframe_rx
&
1
),
0
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_eNB_PROC_RXTX0
+
(
proc
->
subframe_rx
&
1
),
0
);
T
(
T_ENB_MASTER_TICK
,
T_INT
(
0
),
T_INT
(
proc
->
frame_rx
),
T_INT
(
proc
->
subframe_rx
));
T
(
T_ENB_MASTER_TICK
,
T_INT
(
0
),
T_INT
(
proc
->
frame_rx
),
T_INT
(
proc
->
subframe_rx
));
printf
(
"Entering eNB_thread_rxtx, proc0->cond_rxtx, instance_cnt_rxtx, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d
\n
"
,
proc
->
frame_rx
,
proc
->
subframe_rx
,
proc
->
frame_tx
,
proc
->
subframe_tx
);
LOG_D
(
PHY
,
"Entering eNB_thread_rxtx, proc0->cond_rxtx, instance_cnt_rxtx, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d
\n
"
,
proc
->
frame_rx
,
proc
->
subframe_rx
,
proc
->
frame_tx
,
proc
->
subframe_tx
);
if
(
wait_on_condition
(
&
proc
->
mutex_rxtx
,
&
proc
->
cond_rxtx
,
&
proc
->
instance_cnt_rxtx
,
thread_name
)
<
0
)
break
;
if
(
wait_on_condition
(
&
proc
->
mutex_rxtx
,
&
proc
->
cond_rxtx
,
&
proc
->
instance_cnt_rxtx
,
thread_name
)
<
0
)
break
;
printf
(
"Passed eNB_thread_rxtx proc0->cond_rxtx , frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d
\n
"
,
proc
->
frame_rx
,
proc
->
subframe_rx
,
proc
->
frame_tx
,
proc
->
subframe_tx
);
LOG_D
(
PHY
,
"Passed eNB_thread_rxtx proc0->cond_rxtx , frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d
\n
"
,
proc
->
frame_rx
,
proc
->
subframe_rx
,
proc
->
frame_tx
,
proc
->
subframe_tx
);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_CPUID_ENB_THREAD_RXTX
,
sched_getcpu
());
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_CPUID_ENB_THREAD_RXTX
,
sched_getcpu
());
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_eNB_PROC_RXTX0
+
(
proc
->
subframe_rx
&
1
),
1
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_eNB_PROC_RXTX0
+
(
proc
->
subframe_rx
&
1
),
1
);
...
@@ -436,7 +436,7 @@ static void* eNB_thread_rxtx( void* param ) {
...
@@ -436,7 +436,7 @@ static void* eNB_thread_rxtx( void* param ) {
LOG_E
(
PHY
,
"[eNB] ERROR pthread_cond_signal for eNB TXnp4 thread
\n
"
);
LOG_E
(
PHY
,
"[eNB] ERROR pthread_cond_signal for eNB TXnp4 thread
\n
"
);
exit_fun
(
"ERROR pthread_cond_signal"
);
exit_fun
(
"ERROR pthread_cond_signal"
);
}
}
//printf(
"Sent eNB_thread_rxtx proc0-> cond_rxtx to tx_thread, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d\n", proc->frame_rx,proc->subframe_rx,proc->frame_tx,proc->subframe_tx);
LOG_D
(
PHY
,
"Sent eNB_thread_rxtx proc0-> cond_rxtx to tx_thread, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d
\n
"
,
proc
->
frame_rx
,
proc
->
subframe_rx
,
proc
->
frame_tx
,
proc
->
subframe_tx
);
pthread_mutex_unlock
(
&
proc
->
mutex_rxtx
);
pthread_mutex_unlock
(
&
proc
->
mutex_rxtx
);
if
(
nfapi_mode
!=
2
){
if
(
nfapi_mode
!=
2
){
if
(
get_thread_parallel_conf
()
==
PARALLEL_RU_L1_TRX_SPLIT
)
wakeup_tx
(
eNB
,
eNB
->
proc
.
ru_proc
);
if
(
get_thread_parallel_conf
()
==
PARALLEL_RU_L1_TRX_SPLIT
)
wakeup_tx
(
eNB
,
eNB
->
proc
.
ru_proc
);
...
@@ -501,12 +501,12 @@ int wakeup_txfh(eNB_rxtx_proc_t *proc,PHY_VARS_eNB *eNB) {
...
@@ -501,12 +501,12 @@ int wakeup_txfh(eNB_rxtx_proc_t *proc,PHY_VARS_eNB *eNB) {
if
(
ru_proc
==
NULL
)
if
(
ru_proc
==
NULL
)
return
(
0
);
return
(
0
);
//printf(
"Entering wakeup_txfh, ru_proc->cond_eNBs, ru_proc->ru_tx_ready, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d\n", proc->frame_rx,proc->subframe_rx,ru_proc->frame_tx,ru_proc->subframe_tx);
LOG_D
(
PHY
,
"Entering wakeup_txfh, ru_proc->cond_eNBs, ru_proc->ru_tx_ready, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d
\n
"
,
proc
->
frame_rx
,
proc
->
subframe_rx
,
ru_proc
->
frame_tx
,
ru_proc
->
subframe_tx
);
if
(
wait_on_condition
(
&
ru_proc
->
mutex_eNBs
,
&
ru_proc
->
cond_eNBs
,
&
ru_proc
->
ru_tx_ready
,
"wakeup_txfh"
)
<
0
)
{
if
(
wait_on_condition
(
&
ru_proc
->
mutex_eNBs
,
&
ru_proc
->
cond_eNBs
,
&
ru_proc
->
ru_tx_ready
,
"wakeup_txfh"
)
<
0
)
{
LOG_E
(
PHY
,
"Frame %d, subframe %d: TX FH not ready
\n
"
,
ru_proc
->
frame_tx
,
ru_proc
->
subframe_tx
);
LOG_E
(
PHY
,
"Frame %d, subframe %d: TX FH not ready
\n
"
,
ru_proc
->
frame_tx
,
ru_proc
->
subframe_tx
);
return
(
-
1
);
return
(
-
1
);
}
}
//printf(
"Passed wakeup_txfh ru_proc->cond_eNBs, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d\n", ru_proc->frame_rx,ru_proc->subframe_rx,ru_proc->frame_tx,ru_proc->subframe_tx);
LOG_D
(
PHY
,
"Passed wakeup_txfh ru_proc->cond_eNBs, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d
\n
"
,
ru_proc
->
frame_rx
,
ru_proc
->
subframe_rx
,
ru_proc
->
frame_tx
,
ru_proc
->
subframe_tx
);
if
(
release_thread
(
&
ru_proc
->
mutex_eNBs
,
&
ru_proc
->
ru_tx_ready
,
"wakeup_txfh"
)
<
0
)
return
(
-
1
);
if
(
release_thread
(
&
ru_proc
->
mutex_eNBs
,
&
ru_proc
->
ru_tx_ready
,
"wakeup_txfh"
)
<
0
)
return
(
-
1
);
if
(
ru_proc
->
instance_cnt_eNBs
==
0
)
{
if
(
ru_proc
->
instance_cnt_eNBs
==
0
)
{
LOG_E
(
PHY
,
"Frame %d, subframe %d: TX FH thread busy, dropping Frame %d, subframe %d
\n
"
,
ru_proc
->
frame_tx
,
ru_proc
->
subframe_tx
,
proc
->
frame_rx
,
proc
->
subframe_rx
);
LOG_E
(
PHY
,
"Frame %d, subframe %d: TX FH thread busy, dropping Frame %d, subframe %d
\n
"
,
ru_proc
->
frame_tx
,
ru_proc
->
subframe_tx
,
proc
->
frame_rx
,
proc
->
subframe_rx
);
...
@@ -517,7 +517,7 @@ int wakeup_txfh(eNB_rxtx_proc_t *proc,PHY_VARS_eNB *eNB) {
...
@@ -517,7 +517,7 @@ int wakeup_txfh(eNB_rxtx_proc_t *proc,PHY_VARS_eNB *eNB) {
exit_fun
(
"error locking mutex_eNB"
);
exit_fun
(
"error locking mutex_eNB"
);
return
(
-
1
);
return
(
-
1
);
}
}
printf
(
"waking up for frame %d subframe %d for RU TX
\n
"
,
proc
->
frame_tx
,
proc
->
subframe_tx
);
LOG_D
(
PHY
,
"waking up for frame %d subframe %d for RU TX
\n
"
,
proc
->
frame_tx
,
proc
->
subframe_tx
);
++
ru_proc
->
instance_cnt_eNBs
;
++
ru_proc
->
instance_cnt_eNBs
;
ru_proc
->
timestamp_tx
=
proc
->
timestamp_tx
;
ru_proc
->
timestamp_tx
=
proc
->
timestamp_tx
;
ru_proc
->
subframe_tx
=
proc
->
subframe_tx
;
ru_proc
->
subframe_tx
=
proc
->
subframe_tx
;
...
@@ -529,7 +529,7 @@ printf("waking up for frame %d subframe %d for RU TX \n", proc->frame_tx, proc->
...
@@ -529,7 +529,7 @@ printf("waking up for frame %d subframe %d for RU TX \n", proc->frame_tx, proc->
exit_fun
(
"ERROR pthread_cond_signal"
);
exit_fun
(
"ERROR pthread_cond_signal"
);
return
(
-
1
);
return
(
-
1
);
}
}
//printf(
"Sent wakeup_txfh ru_proc->cond_eNBs to tx_thread\n, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d\n", proc->frame_rx,proc->subframe_rx,ru_proc->frame_tx,ru_proc->subframe_tx);
LOG_D
(
PHY
,
"Sent wakeup_txfh ru_proc->cond_eNBs to tx_thread
\n
, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d
\n
"
,
proc
->
frame_rx
,
proc
->
subframe_rx
,
ru_proc
->
frame_tx
,
ru_proc
->
subframe_tx
);
pthread_mutex_unlock
(
&
ru_proc
->
mutex_eNBs
);
pthread_mutex_unlock
(
&
ru_proc
->
mutex_eNBs
);
}
}
return
(
0
);
return
(
0
);
...
@@ -576,7 +576,7 @@ if ((fp->frame_type == TDD) && (subframe_select(fp,proc_rxtx0->subframe_tx)==SF_
...
@@ -576,7 +576,7 @@ if ((fp->frame_type == TDD) && (subframe_select(fp,proc_rxtx0->subframe_tx)==SF_
exit_fun
(
"ERROR pthread_cond_signal"
);
exit_fun
(
"ERROR pthread_cond_signal"
);
return
(
-
1
);
return
(
-
1
);
}
}
printf
(
"Sent wakeup_tx proc1->cond_rxtx to tx_thread, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d
\n
"
,
proc_rxtx1
->
frame_rx
,
proc_rxtx1
->
subframe_rx
,
proc_rxtx1
->
frame_tx
,
proc_rxtx1
->
subframe_tx
);
LOG_D
(
PHY
,
"Sent wakeup_tx proc1->cond_rxtx to tx_thread, frame_rx %d, subframe_rx %d, frame_tx %d, subframe_tx %d
\n
"
,
proc_rxtx1
->
frame_rx
,
proc_rxtx1
->
subframe_rx
,
proc_rxtx1
->
frame_tx
,
proc_rxtx1
->
subframe_tx
);
pthread_mutex_unlock
(
&
proc_rxtx1
->
mutex_rxtx
);
pthread_mutex_unlock
(
&
proc_rxtx1
->
mutex_rxtx
);
return
(
0
);
return
(
0
);
...
@@ -622,12 +622,12 @@ int wakeup_rxtx(PHY_VARS_eNB *eNB,RU_t *ru) {
...
@@ -622,12 +622,12 @@ int wakeup_rxtx(PHY_VARS_eNB *eNB,RU_t *ru) {
wait
.
tv_sec
=
0
;
wait
.
tv_sec
=
0
;
wait
.
tv_nsec
=
5000000L
;
wait
.
tv_nsec
=
5000000L
;
printf
(
"Entering wakeup_rxtx, cond_rxtx, proc0->pipe_ready, frame %d, subframe %d
\n
"
,
proc_rxtx0
->
frame_rx
,
proc_rxtx0
->
subframe_rx
,
proc_rxtx0
->
frame_tx
,
proc_rxtx0
->
subframe_tx
);
LOG_D
(
PHY
,
"Entering wakeup_rxtx, cond_rxtx, proc0->pipe_ready, frame %d, subframe %d
\n
"
,
proc_rxtx0
->
frame_rx
,
proc_rxtx0
->
subframe_rx
,
proc_rxtx0
->
frame_tx
,
proc_rxtx0
->
subframe_tx
);
if
(
wait_on_condition
(
&
proc_rxtx0
->
mutex_rxtx
,
&
proc_rxtx0
->
cond_rxtx
,
&
proc_rxtx0
->
pipe_ready
,
"wakeup_rxtx"
)
<
0
)
{
if
(
wait_on_condition
(
&
proc_rxtx0
->
mutex_rxtx
,
&
proc_rxtx0
->
cond_rxtx
,
&
proc_rxtx0
->
pipe_ready
,
"wakeup_rxtx"
)
<
0
)
{
LOG_E
(
PHY
,
"Frame %d, subframe %d: RXTX0 not ready
\n
"
,
proc_rxtx0
->
frame_rx
,
proc_rxtx0
->
subframe_rx
);
LOG_E
(
PHY
,
"Frame %d, subframe %d: RXTX0 not ready
\n
"
,
proc_rxtx0
->
frame_rx
,
proc_rxtx0
->
subframe_rx
);
return
(
-
1
);
return
(
-
1
);
}
}
printf
(
"Passed wakeup_rxtx proc0->cond_rxtx, frame %d, subframe %d
\n
"
,
proc_rxtx0
->
frame_rx
,
proc_rxtx0
->
subframe_rx
,
proc_rxtx0
->
frame_tx
,
proc_rxtx0
->
subframe_tx
);
LOG_D
(
PHY
,
"Passed wakeup_rxtx proc0->cond_rxtx, frame %d, subframe %d
\n
"
,
proc_rxtx0
->
frame_rx
,
proc_rxtx0
->
subframe_rx
,
proc_rxtx0
->
frame_tx
,
proc_rxtx0
->
subframe_tx
);
if
(
release_thread
(
&
proc_rxtx0
->
mutex_rxtx
,
&
proc_rxtx0
->
pipe_ready
,
"wakeup_rxtx"
)
<
0
)
return
(
-
1
);
if
(
release_thread
(
&
proc_rxtx0
->
mutex_rxtx
,
&
proc_rxtx0
->
pipe_ready
,
"wakeup_rxtx"
)
<
0
)
return
(
-
1
);
if
(
proc_rxtx0
->
instance_cnt_rxtx
==
0
)
{
if
(
proc_rxtx0
->
instance_cnt_rxtx
==
0
)
{
...
@@ -664,7 +664,7 @@ int wakeup_rxtx(PHY_VARS_eNB *eNB,RU_t *ru) {
...
@@ -664,7 +664,7 @@ int wakeup_rxtx(PHY_VARS_eNB *eNB,RU_t *ru) {
exit_fun
(
"ERROR pthread_cond_signal"
);
exit_fun
(
"ERROR pthread_cond_signal"
);
return
(
-
1
);
return
(
-
1
);
}
}
printf
(
"Sent wakeup_rxtx proc0->cond_rxtx to eNB_thread_rxtx, frame %d, subframe %d
\n
"
,
proc_rxtx0
->
frame_rx
,
proc_rxtx0
->
subframe_rx
,
proc_rxtx0
->
frame_tx
,
proc_rxtx0
->
subframe_tx
);
LOG_D
(
PHY
,
"Sent wakeup_rxtx proc0->cond_rxtx to eNB_thread_rxtx, frame %d, subframe %d
\n
"
,
proc_rxtx0
->
frame_rx
,
proc_rxtx0
->
subframe_rx
,
proc_rxtx0
->
frame_tx
,
proc_rxtx0
->
subframe_tx
);
pthread_mutex_unlock
(
&
proc_rxtx0
->
mutex_rxtx
);
pthread_mutex_unlock
(
&
proc_rxtx0
->
mutex_rxtx
);
return
(
0
);
return
(
0
);
...
@@ -999,8 +999,8 @@ void init_eNB_proc(int inst) {
...
@@ -999,8 +999,8 @@ void init_eNB_proc(int inst) {
LOG_I
(
PHY
,
"eNB->single_thread_flag:%d
\n
"
,
eNB
->
single_thread_flag
);
LOG_I
(
PHY
,
"eNB->single_thread_flag:%d
\n
"
,
eNB
->
single_thread_flag
);
if
((
get_thread_parallel_conf
()
==
PARALLEL_RU_L1_SPLIT
||
get_thread_parallel_conf
()
==
PARALLEL_RU_L1_TRX_SPLIT
)
&&
nfapi_mode
!=
2
)
{
if
((
get_thread_parallel_conf
()
==
PARALLEL_RU_L1_SPLIT
||
get_thread_parallel_conf
()
==
PARALLEL_RU_L1_TRX_SPLIT
)
&&
nfapi_mode
!=
2
)
{
pthread_create
(
&
proc_rxtx
[
0
].
pthread_rxtx
,
attr0
,
eNB_thread_rxtx
,
proc
);
pthread_create
(
&
proc_rxtx
[
0
].
pthread_rxtx
,
attr0
,
eNB_thread_rxtx
,
eNB
);
pthread_create
(
&
proc_rxtx
[
1
].
pthread_rxtx
,
attr1
,
tx_thread
,
proc
);
pthread_create
(
&
proc_rxtx
[
1
].
pthread_rxtx
,
attr1
,
tx_thread
,
eNB
);
}
}
pthread_create
(
&
proc
->
pthread_prach
,
attr_prach
,
eNB_thread_prach
,
eNB
);
pthread_create
(
&
proc
->
pthread_prach
,
attr_prach
,
eNB_thread_prach
,
eNB
);
#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
...
...
targets/RT/USER/lte-ru.c
View file @
76999244
...
@@ -1140,7 +1140,7 @@ void wakeup_eNBs(RU_t *ru) {
...
@@ -1140,7 +1140,7 @@ void wakeup_eNBs(RU_t *ru) {
RU_proc_t
*
ruproc
=
&
ru
->
proc
;
RU_proc_t
*
ruproc
=
&
ru
->
proc
;
struct
timespec
t
;
struct
timespec
t
;
LOG_
I
(
PHY
,
"wakeup_eNBs (num %d) for RU %d (state %s)ru->eNB_top:%p
\n
"
,
ru
->
num_eNB
,
ru
->
idx
,
ru_states
[
ru
->
state
],
ru
->
eNB_top
);
LOG_
D
(
PHY
,
"wakeup_eNBs (num %d) for RU %d (state %s)ru->eNB_top:%p
\n
"
,
ru
->
num_eNB
,
ru
->
idx
,
ru_states
[
ru
->
state
],
ru
->
eNB_top
);
if
(
ru
->
num_eNB
==
1
&&
ru
->
eNB_top
!=
0
&&
get_thread_parallel_conf
()
==
PARALLEL_SINGLE_THREAD
)
{
if
(
ru
->
num_eNB
==
1
&&
ru
->
eNB_top
!=
0
&&
get_thread_parallel_conf
()
==
PARALLEL_SINGLE_THREAD
)
{
// call eNB function directly
// call eNB function directly
...
@@ -1224,7 +1224,7 @@ void wakeup_eNBs(RU_t *ru) {
...
@@ -1224,7 +1224,7 @@ void wakeup_eNBs(RU_t *ru) {
{
{
LOG_
D
(
PHY
,
"ru->wakeup_rxtx:%p
\n
"
,
ru
->
wakeup_rxtx
);
LOG_
I
(
PHY
,
"ru->wakeup_rxtx:%p
\n
"
,
ru
->
wakeup_rxtx
);
eNB_list
[
i
]
->
proc
.
ru_proc
=
&
ru
->
proc
;
eNB_list
[
i
]
->
proc
.
ru_proc
=
&
ru
->
proc
;
if
(
ru
->
wakeup_rxtx
!=
0
&&
ru
->
wakeup_rxtx
(
eNB_list
[
i
],
ru
)
<
0
)
if
(
ru
->
wakeup_rxtx
!=
0
&&
ru
->
wakeup_rxtx
(
eNB_list
[
i
],
ru
)
<
0
)
{
{
...
@@ -1745,7 +1745,7 @@ static void* ru_thread( void* param ) {
...
@@ -1745,7 +1745,7 @@ static void* ru_thread( void* param ) {
}
}
else
{
else
{
LOG_
I
(
PHY
,
"RU thread %d, frame %d, subframe %d
\n
"
,
LOG_
D
(
PHY
,
"RU thread %d, frame %d, subframe %d
\n
"
,
ru
->
idx
,
frame
,
subframe
);
ru
->
idx
,
frame
,
subframe
);
if
((
ru
->
do_prach
>
0
)
&&
(
is_prach_subframe
(
fp
,
proc
->
frame_rx
,
proc
->
subframe_rx
)
==
1
))
{
if
((
ru
->
do_prach
>
0
)
&&
(
is_prach_subframe
(
fp
,
proc
->
frame_rx
,
proc
->
subframe_rx
)
==
1
))
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment