Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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
OpenXG
OpenXG UE
Commits
411b480d
Commit
411b480d
authored
Apr 24, 2018
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixes after merge with develop
parent
052c0bb0
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
42 additions
and
149 deletions
+42
-149
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
+6
-6
openair1/PHY/LTE_TRANSPORT/transport_proto.h
openair1/PHY/LTE_TRANSPORT/transport_proto.h
+6
-1
openair1/PHY/defs_eNB.h
openair1/PHY/defs_eNB.h
+28
-140
openair1/SIMULATION/TOOLS/abstraction.c
openair1/SIMULATION/TOOLS/abstraction.c
+1
-0
openair2/LAYER2/MAC/mac.h
openair2/LAYER2/MAC/mac.h
+0
-1
openair2/UTIL/MEM/mem_block.c
openair2/UTIL/MEM/mem_block.c
+1
-1
No files found.
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
View file @
411b480d
...
@@ -397,12 +397,12 @@ int dlsch_encoding_2threads(PHY_VARS_eNB *eNB,
...
@@ -397,12 +397,12 @@ int dlsch_encoding_2threads(PHY_VARS_eNB *eNB,
uint8_t
subframe
,
uint8_t
subframe
,
time_stats_t
*
rm_stats
,
time_stats_t
*
rm_stats
,
time_stats_t
*
te_stats
,
time_stats_t
*
te_stats
,
time_stats_t
*
te_wait_stats
,
time_stats_t
*
te_wait_stats
,
time_stats_t
*
te_main_stats
,
time_stats_t
*
te_main_stats
,
time_stats_t
*
te_wakeup_stats0
,
time_stats_t
*
te_wakeup_stats0
,
time_stats_t
*
te_wakeup_stats1
,
time_stats_t
*
te_wakeup_stats1
,
time_stats_t
*
i_stats
,
time_stats_t
*
i_stats
,
int
worker_num
)
int
worker_num
)
{
{
//start_meas(&eNB->dlsch_turbo_encoding_preperation_stats);
//start_meas(&eNB->dlsch_turbo_encoding_preperation_stats);
...
...
openair1/PHY/LTE_TRANSPORT/transport_proto.h
View file @
411b480d
...
@@ -141,7 +141,12 @@ int32_t dlsch_encoding_2threads(PHY_VARS_eNB *eNB,
...
@@ -141,7 +141,12 @@ int32_t dlsch_encoding_2threads(PHY_VARS_eNB *eNB,
uint8_t
subframe
,
uint8_t
subframe
,
time_stats_t
*
rm_stats
,
time_stats_t
*
rm_stats
,
time_stats_t
*
te_stats
,
time_stats_t
*
te_stats
,
time_stats_t
*
i_stats
);
time_stats_t
*
te_wait_stats
,
time_stats_t
*
te_main_stats
,
time_stats_t
*
te_wakeup_stats0
,
time_stats_t
*
te_wakeup_stats1
,
time_stats_t
*
i_stats
,
int
worker_num
);
// Functions below implement 36-211
// Functions below implement 36-211
...
...
openair1/PHY/defs_eNB.h
View file @
411b480d
...
@@ -234,145 +234,6 @@ typedef struct RU_proc_t_s {
...
@@ -234,145 +234,6 @@ typedef struct RU_proc_t_s {
int
ru_tx_ready
;
int
ru_tx_ready
;
}
RU_proc_t
;
}
RU_proc_t
;
/// Context data structure for eNB subframe processing
typedef
struct
eNB_proc_t_s
{
/// Component Carrier index
uint8_t
CC_id
;
/// thread index
int
thread_index
;
/// timestamp received from HW
openair0_timestamp
timestamp_rx
;
/// timestamp to send to "slave rru"
openair0_timestamp
timestamp_tx
;
/// subframe to act upon for reception
int
subframe_rx
;
/// subframe to act upon for PRACH
int
subframe_prach
;
#ifdef Rel14
/// subframe to act upon for reception of prach BL/CE UEs
int
subframe_prach_br
;
#endif
/// frame to act upon for reception
int
frame_rx
;
/// frame to act upon for transmission
int
frame_tx
;
/// frame to act upon for PRACH
int
frame_prach
;
#ifdef Rel14
/// frame to act upon for PRACH BL/CE UEs
int
frame_prach_br
;
#endif
/// \internal This variable is protected by \ref mutex_td.
int
instance_cnt_td
;
/// \internal This variable is protected by \ref mutex_te.
//int instance_cnt_te[3];
/// \internal This variable is protected by \ref mutex_prach.
int
instance_cnt_prach
;
#ifdef Rel14
/// \internal This variable is protected by \ref mutex_prach for BL/CE UEs.
int
instance_cnt_prach_br
;
#endif
// instance count for over-the-air eNB synchronization
int
instance_cnt_synch
;
/// \internal This variable is protected by \ref mutex_asynch_rxtx.
int
instance_cnt_asynch_rxtx
;
/// pthread structure for eNB single processing thread
pthread_t
pthread_single
;
/// pthread structure for asychronous RX/TX processing thread
pthread_t
pthread_asynch_rxtx
;
/// flag to indicate first RX acquisition
int
first_rx
;
/// flag to indicate first TX transmission
int
first_tx
;
/// pthread attributes for parallel turbo-decoder thread
pthread_attr_t
attr_td
;
/// pthread attributes for parallel turbo-encoder thread
//pthread_attr_t attr_te[3];
/// pthread attributes for single eNB processing thread
pthread_attr_t
attr_single
;
/// pthread attributes for prach processing thread
pthread_attr_t
attr_prach
;
#ifdef Rel14
/// pthread attributes for prach processing thread BL/CE UEs
pthread_attr_t
attr_prach_br
;
#endif
/// pthread attributes for asynchronous RX thread
pthread_attr_t
attr_asynch_rxtx
;
/// scheduling parameters for parallel turbo-decoder thread
struct
sched_param
sched_param_td
;
/// scheduling parameters for parallel turbo-encoder thread
//struct sched_param sched_param_te[3];
/// scheduling parameters for single eNB thread
struct
sched_param
sched_param_single
;
/// scheduling parameters for prach thread
struct
sched_param
sched_param_prach
;
#ifdef Rel14
/// scheduling parameters for prach thread
struct
sched_param
sched_param_prach_br
;
#endif
/// scheduling parameters for asynch_rxtx thread
struct
sched_param
sched_param_asynch_rxtx
;
/// pthread structure for parallel turbo-decoder thread
pthread_t
pthread_td
;
/// pthread structure for parallel turbo-encoder thread
//pthread_t pthread_te[3];
/// pthread structure for PRACH thread
pthread_t
pthread_prach
;
#ifdef Rel14
/// pthread structure for PRACH thread BL/CE UEs
pthread_t
pthread_prach_br
;
#endif
/// condition variable for parallel turbo-decoder thread
pthread_cond_t
cond_td
;
/// condition variable for parallel turbo-encoder thread
//pthread_cond_t cond_te[3];
/// condition variable for PRACH processing thread;
pthread_cond_t
cond_prach
;
#ifdef Rel14
/// condition variable for PRACH processing thread BL/CE UEs;
pthread_cond_t
cond_prach_br
;
#endif
/// condition variable for asynch RX/TX thread
pthread_cond_t
cond_asynch_rxtx
;
/// mutex for parallel turbo-decoder thread
pthread_mutex_t
mutex_td
;
/// mutex for parallel turbo-encoder thread
//pthread_mutex_t mutex_te[3];
/// mutex for PRACH thread
pthread_mutex_t
mutex_prach
;
#ifdef Rel14
/// mutex for PRACH thread for BL/CE UEs
pthread_mutex_t
mutex_prach_br
;
#endif
/// mutex for asynch RX/TX thread
pthread_mutex_t
mutex_asynch_rxtx
;
/// mutex for RU access to eNB processing (PDSCH/PUSCH)
pthread_mutex_t
mutex_RU
;
/// mutex for RU access to eNB processing (PRACH)
pthread_mutex_t
mutex_RU_PRACH
;
/// mutex for RU access to eNB processing (PRACH BR)
pthread_mutex_t
mutex_RU_PRACH_br
;
/// mask for RUs serving eNB (PDSCH/PUSCH)
int
RU_mask
;
/// mask for RUs serving eNB (PRACH)
int
RU_mask_prach
;
#ifdef Rel14
/// mask for RUs serving eNB (PRACH)
int
RU_mask_prach_br
;
#endif
/// parameters for turbo-decoding worker thread
td_params
tdp
;
/// parameters for turbo-encoding worker thread
te_params
tep
[
3
];
/// set of scheduling variables RXn-TXnp4 threads
eNB_rxtx_proc_t
proc_rxtx
[
2
];
/// stats thread pthread descriptor
pthread_t
process_stats_thread
;
/// for waking up tx procedure
RU_proc_t
*
ru_proc
;
}
eNB_proc_t
;
...
@@ -483,6 +344,14 @@ typedef struct RU_t_s{
...
@@ -483,6 +344,14 @@ typedef struct RU_t_s{
time_stats_t
ofdm_demod_stats
;
time_stats_t
ofdm_demod_stats
;
/// Timing statistics (TX)
/// Timing statistics (TX)
time_stats_t
ofdm_mod_stats
;
time_stats_t
ofdm_mod_stats
;
/// Timing wait statistics
time_stats_t
ofdm_demod_wait_stats
;
/// Timing wakeup statistics
time_stats_t
ofdm_demod_wakeup_stats
;
/// Timing wait statistics (TX)
time_stats_t
ofdm_mod_wait_stats
;
/// Timing wakeup statistics (TX)
time_stats_t
ofdm_mod_wakeup_stats
;
/// Timing statistics (RX Fronthaul + Compression)
/// Timing statistics (RX Fronthaul + Compression)
time_stats_t
rx_fhaul
;
time_stats_t
rx_fhaul
;
/// Timing statistics (TX Fronthaul + Compression)
/// Timing statistics (TX Fronthaul + Compression)
...
@@ -508,6 +377,7 @@ typedef struct RU_t_s{
...
@@ -508,6 +377,7 @@ typedef struct RU_t_s{
RU_proc_t
proc
;
RU_proc_t
proc
;
/// stats thread pthread descriptor
/// stats thread pthread descriptor
pthread_t
ru_stats_thread
;
pthread_t
ru_stats_thread
;
}
RU_t
;
}
RU_t
;
...
@@ -779,6 +649,20 @@ typedef struct {
...
@@ -779,6 +649,20 @@ typedef struct {
LTE_eNB_DLSCH_t
*
dlsch
;
LTE_eNB_DLSCH_t
*
dlsch
;
int
G
;
int
G
;
int
harq_pid
;
int
harq_pid
;
int
total_worker
;
int
current_worker
;
/// \internal This variable is protected by \ref mutex_te.
int
instance_cnt_te
;
/// pthread attributes for parallel turbo-encoder thread
pthread_attr_t
attr_te
;
/// scheduling parameters for parallel turbo-encoder thread
struct
sched_param
sched_param_te
;
/// pthread structure for parallel turbo-encoder thread
pthread_t
pthread_te
;
/// condition variable for parallel turbo-encoder thread
pthread_cond_t
cond_te
;
/// mutex for parallel turbo-encoder thread
pthread_mutex_t
mutex_te
;
}
te_params
;
}
te_params
;
/// Context data structure for eNB subframe processing
/// Context data structure for eNB subframe processing
...
@@ -910,9 +794,13 @@ typedef struct eNB_proc_t_s {
...
@@ -910,9 +794,13 @@ typedef struct eNB_proc_t_s {
/// parameters for turbo-decoding worker thread
/// parameters for turbo-decoding worker thread
td_params
tdp
;
td_params
tdp
;
/// parameters for turbo-encoding worker thread
/// parameters for turbo-encoding worker thread
te_params
tep
;
te_params
tep
[
3
]
;
/// set of scheduling variables RXn-TXnp4 threads
/// set of scheduling variables RXn-TXnp4 threads
eNB_rxtx_proc_t
proc_rxtx
[
2
];
eNB_rxtx_proc_t
proc_rxtx
[
2
];
/// stats thread pthread descriptor
pthread_t
process_stats_thread
;
/// for waking up tx procedure
RU_proc_t
*
ru_proc
;
}
eNB_proc_t
;
}
eNB_proc_t
;
...
...
openair1/SIMULATION/TOOLS/abstraction.c
View file @
411b480d
...
@@ -28,6 +28,7 @@
...
@@ -28,6 +28,7 @@
#include "SIMULATION/TOOLS/sim.h"
#include "SIMULATION/TOOLS/sim.h"
#include "PHY/TOOLS/tools_defs.h"
#include "PHY/TOOLS/tools_defs.h"
#include "assertions.h"
// NEW code with lookup table for sin/cos based on delay profile (TO BE TESTED)
// NEW code with lookup table for sin/cos based on delay profile (TO BE TESTED)
...
...
openair2/LAYER2/MAC/mac.h
View file @
411b480d
...
@@ -1060,7 +1060,6 @@ typedef struct {
...
@@ -1060,7 +1060,6 @@ typedef struct {
/*! \brief top level eNB MAC structure */
/*! \brief top level eNB MAC structure */
typedef
struct
eNB_MAC_INST_s
{
typedef
struct
eNB_MAC_INST_s
{
/// Ethernet parameters for northbound midhaul interface
/// Ethernet parameters for northbound midhaul interface
<<<<<<<
HEAD
:
openair2
/
LAYER2
/
MAC
/
mac
.
h
eth_params_t
eth_params_n
;
eth_params_t
eth_params_n
;
/// Ethernet parameters for fronthaul interface
/// Ethernet parameters for fronthaul interface
eth_params_t
eth_params_s
;
eth_params_t
eth_params_s
;
...
...
openair2/UTIL/MEM/mem_block.c
View file @
411b480d
...
@@ -34,7 +34,7 @@
...
@@ -34,7 +34,7 @@
#include "mem_pool.h"
#include "mem_pool.h"
#include "list.h"
#include "list.h"
#include "LAYER2/MAC/mac_extern.h"
#include "LAYER2/MAC/mac_extern.h"
#include "assertions.h"
/* all function calls are protected by a mutex
/* all function calls are protected by a mutex
* to ensure that many threads calling them at
* to ensure that many threads calling them at
* the same time don't mess up.
* the same time don't mess up.
...
...
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