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
alex037yang
OpenXG-RAN
Commits
ec209bd4
Commit
ec209bd4
authored
8 years ago
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
if5 modifications. Use of asynchronous RX thread for RCC->RRU IF5 link
parent
5817a62c
No related merge requests found
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
105 additions
and
59 deletions
+105
-59
openair1/PHY/LTE_TRANSPORT/if5_tools.c
openair1/PHY/LTE_TRANSPORT/if5_tools.c
+5
-5
openair1/PHY/defs.h
openair1/PHY/defs.h
+12
-6
targets/RT/USER/lte-enb.c
targets/RT/USER/lte-enb.c
+88
-48
No files found.
openair1/PHY/LTE_TRANSPORT/if5_tools.c
View file @
ec209bd4
...
...
@@ -66,7 +66,7 @@ void send_IF5(PHY_VARS_eNB *eNB, openair0_timestamp proc_timestamp, int subframe
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE_IF
,
1
);
eNB
->
ifdevice
.
trx_write_func
(
&
eNB
->
ifdevice
,
(
proc_timestamp
+
packet_id
*
spp_eth
),
txp
,
(
void
**
)
txp
,
spp_eth
,
fp
->
nb_antennas_tx
,
0
);
...
...
@@ -86,7 +86,7 @@ void send_IF5(PHY_VARS_eNB *eNB, openair0_timestamp proc_timestamp, int subframe
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE_IF
,
1
);
eNB
->
ifdevice
.
trx_write_func
(
&
eNB
->
ifdevice
,
(
proc_timestamp
+
packet_id
*
spp_eth
),
rxp
,
(
void
**
)
rxp
,
spp_eth
,
fp
->
nb_antennas_rx
,
0
);
...
...
@@ -131,7 +131,7 @@ void send_IF5(PHY_VARS_eNB *eNB, openair0_timestamp proc_timestamp, int subframe
// Write the packet to the fronthaul
if
((
eNB
->
ifdevice
.
trx_write_func
(
&
eNB
->
ifdevice
,
packet_id
,
&
tx_buffer
,
(
void
**
)
&
tx_buffer
,
db_fulllength
,
1
,
IF5_MOBIPASS
))
<
0
)
{
...
...
@@ -177,7 +177,7 @@ void recv_IF5(PHY_VARS_eNB *eNB, openair0_timestamp *proc_timestamp, int subfram
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_READ_IF
,
1
);
eNB
->
ifdevice
.
trx_read_func
(
&
eNB
->
ifdevice
,
&
timestamp
[
packet_id
],
txp
,
(
void
**
)
txp
,
spp_eth
,
fp
->
nb_antennas_tx
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_READ_IF
,
0
);
...
...
@@ -197,7 +197,7 @@ void recv_IF5(PHY_VARS_eNB *eNB, openair0_timestamp *proc_timestamp, int subfram
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_READ_IF
,
1
);
eNB
->
ifdevice
.
trx_read_func
(
&
eNB
->
ifdevice
,
&
timestamp
[
packet_id
],
rxp
,
(
void
**
)
rxp
,
spp_eth
,
fp
->
nb_antennas_rx
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_READ_IF
,
0
);
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/defs.h
View file @
ec209bd4
...
...
@@ -252,10 +252,12 @@ typedef struct eNB_proc_t_s {
/// \brief Instance count for rx processing thread.
/// \internal This variable is protected by \ref mutex_prach.
int
instance_cnt_prach
;
/// \internal This variable is protected by \ref mutex_asynch_rxtx.
int
instance_cnt_asynch_rxtx
;
/// pthread structure for FH processing thread
pthread_t
pthread_FH
;
/// pthread structure for asychronous RX processing thread
pthread_t
pthread_asynch_rx
;
/// pthread structure for asychronous RX
/TX
processing thread
pthread_t
pthread_asynch_rx
tx
;
/// flag to indicate first RX acquisition
int
first_rx
;
/// pthread attributes for FH processing thread
...
...
@@ -263,23 +265,27 @@ typedef struct eNB_proc_t_s {
/// pthread attributes for prach processing thread
pthread_attr_t
attr_prach
;
/// pthread attributes for asynchronous RX thread
pthread_attr_t
attr_asynch_rx
;
pthread_attr_t
attr_asynch_rx
tx
;
/// scheduling parameters for FH thread
struct
sched_param
sched_param_FH
;
/// scheduling parameters for prach thread
struct
sched_param
sched_param_prach
;
/// scheduling parameters for asynch_rx thread
struct
sched_param
sched_param_asynch_rx
;
///
condition variable for F
H thread
/// scheduling parameters for asynch_rx
tx
thread
struct
sched_param
sched_param_asynch_rx
tx
;
///
pthread structure for PRAC
H thread
pthread_t
pthread_prach
;
/// condition variable for FH thread
pthread_cond_t
cond_FH
;
/// condition variable for PRACH processing thread;
pthread_cond_t
cond_prach
;
/// condition variable for asynch RX/TX thread
pthread_cond_t
cond_asynch_rxtx
;
/// mutex for FH
pthread_mutex_t
mutex_FH
;
/// mutex for PRACH thread
pthread_mutex_t
mutex_prach
;
/// mutex for asynch RX/TX thread
pthread_mutex_t
mutex_asynch_rxtx
;
/// set of scheduling variables RXn-TXnp4 threads
eNB_rxtx_proc_t
proc_rxtx
[
2
];
/// number of slave threads
...
...
This diff is collapsed.
Click to expand it.
targets/RT/USER/lte-enb.c
View file @
ec209bd4
This diff is collapsed.
Click to expand it.
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