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
wangjie
OpenXG-RAN
Commits
36a92f46
Commit
36a92f46
authored
Oct 29, 2018
by
magounak
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
renaming eNB_proc_t -> L1_proc_t and eNB_rxtx_proc_t -> L1_rxtx_proc_t
parent
0da8e5cc
Changes
21
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
108 additions
and
108 deletions
+108
-108
nfapi/oai_integration/nfapi_pnf.c
nfapi/oai_integration/nfapi_pnf.c
+9
-9
nfapi/oai_integration/nfapi_vnf.c
nfapi/oai_integration/nfapi_vnf.c
+2
-2
openair1/PHY/LTE_ESTIMATION/lte_estimation.h
openair1/PHY/LTE_ESTIMATION/lte_estimation.h
+1
-1
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
+1
-1
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
+4
-4
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
+1
-1
openair1/PHY/LTE_TRANSPORT/phich.c
openair1/PHY/LTE_TRANSPORT/phich.c
+1
-1
openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c
openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c
+1
-1
openair1/PHY/LTE_TRANSPORT/pmch.c
openair1/PHY/LTE_TRANSPORT/pmch.c
+1
-1
openair1/PHY/LTE_TRANSPORT/transport_proto.h
openair1/PHY/LTE_TRANSPORT/transport_proto.h
+9
-9
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
+3
-3
openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c
openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c
+2
-2
openair1/PHY/defs_eNB.h
openair1/PHY/defs_eNB.h
+5
-5
openair1/SCHED/fapi_l1.c
openair1/SCHED/fapi_l1.c
+8
-8
openair1/SCHED/fapi_l1.h
openair1/SCHED/fapi_l1.h
+6
-6
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+11
-11
openair1/SCHED/sched_common.h
openair1/SCHED/sched_common.h
+3
-3
openair1/SCHED/sched_eNB.h
openair1/SCHED/sched_eNB.h
+5
-5
openair1/SIMULATION/LTE_PHY/dlsim.c
openair1/SIMULATION/LTE_PHY/dlsim.c
+1
-1
targets/RT/USER/lte-enb.c
targets/RT/USER/lte-enb.c
+28
-28
targets/RT/USER/lte-ru.c
targets/RT/USER/lte-ru.c
+6
-6
No files found.
nfapi/oai_integration/nfapi_pnf.c
View file @
36a92f46
...
...
@@ -69,12 +69,12 @@ char uecap_xer_in;
extern
void
init_eNB_afterRU
(
void
);
extern
void
init_UE_stub
(
int
nb_inst
,
int
,
int
);
extern
void
handle_nfapi_dci_dl_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
eNB
_rxtx_proc_t
*
proc
,
nfapi_dl_config_request_pdu_t
*
dl_config_pdu
);
extern
void
handle_nfapi_ul_pdu
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
nfapi_ul_config_request_pdu_t
*
ul_config_pdu
,
uint16_t
frame
,
uint8_t
subframe
,
uint8_t
srs_present
);
extern
void
handle_nfapi_dlsch_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
eNB
_rxtx_proc_t
*
proc
,
nfapi_dl_config_request_pdu_t
*
dl_config_pdu
,
uint8_t
codeword_index
,
uint8_t
*
sdu
);
extern
void
handle_nfapi_hi_dci0_dci_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
eNB
_rxtx_proc_t
*
proc
,
nfapi_hi_dci0_request_pdu_t
*
hi_dci0_config_pdu
);
extern
void
handle_nfapi_hi_dci0_hi_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
eNB
_rxtx_proc_t
*
proc
,
nfapi_hi_dci0_request_pdu_t
*
hi_dci0_config_pdu
);
extern
void
handle_nfapi_bch_pdu
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
nfapi_dl_config_request_pdu_t
*
dl_config_pdu
,
uint8_t
*
sdu
);
extern
void
handle_nfapi_dci_dl_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
L1
_rxtx_proc_t
*
proc
,
nfapi_dl_config_request_pdu_t
*
dl_config_pdu
);
extern
void
handle_nfapi_ul_pdu
(
PHY_VARS_eNB
*
eNB
,
L1
_rxtx_proc_t
*
proc
,
nfapi_ul_config_request_pdu_t
*
ul_config_pdu
,
uint16_t
frame
,
uint8_t
subframe
,
uint8_t
srs_present
);
extern
void
handle_nfapi_dlsch_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
L1
_rxtx_proc_t
*
proc
,
nfapi_dl_config_request_pdu_t
*
dl_config_pdu
,
uint8_t
codeword_index
,
uint8_t
*
sdu
);
extern
void
handle_nfapi_hi_dci0_dci_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
L1
_rxtx_proc_t
*
proc
,
nfapi_hi_dci0_request_pdu_t
*
hi_dci0_config_pdu
);
extern
void
handle_nfapi_hi_dci0_hi_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
L1
_rxtx_proc_t
*
proc
,
nfapi_hi_dci0_request_pdu_t
*
hi_dci0_config_pdu
);
extern
void
handle_nfapi_bch_pdu
(
PHY_VARS_eNB
*
eNB
,
L1
_rxtx_proc_t
*
proc
,
nfapi_dl_config_request_pdu_t
*
dl_config_pdu
,
uint8_t
*
sdu
);
extern
uint8_t
nfapi_mode
;
...
...
@@ -741,7 +741,7 @@ int pnf_phy_hi_dci0_req(nfapi_pnf_p7_config_t* pnf_p7, nfapi_hi_dci0_request_t*
//phy_info* phy = (phy_info*)(pnf_p7->user_data);
struct
PHY_VARS_eNB_s
*
eNB
=
RC
.
eNB
[
0
][
0
];
eNB
_rxtx_proc_t
*
proc
=
&
eNB
->
proc
.
L1_proc
;
L1
_rxtx_proc_t
*
proc
=
&
eNB
->
proc
.
L1_proc
;
for
(
int
i
=
0
;
i
<
req
->
hi_dci0_request_body
.
number_of_dci
+
req
->
hi_dci0_request_body
.
number_of_hi
;
i
++
)
{
...
...
@@ -798,7 +798,7 @@ int pnf_phy_dl_config_req(nfapi_pnf_p7_config_t* pnf_p7, nfapi_dl_config_request
int
sf
=
NFAPI_SFNSF2SF
(
req
->
sfn_sf
);
struct
PHY_VARS_eNB_s
*
eNB
=
RC
.
eNB
[
0
][
0
];
eNB
_rxtx_proc_t
*
proc
=
&
eNB
->
proc
.
L1_proc
;
L1
_rxtx_proc_t
*
proc
=
&
eNB
->
proc
.
L1_proc
;
nfapi_dl_config_request_pdu_t
*
dl_config_pdu_list
=
req
->
dl_config_request_body
.
dl_config_pdu_list
;
LTE_eNB_PDCCH
*
pdcch_vars
=
&
eNB
->
pdcch_vars
[
sf
&
1
];
...
...
@@ -945,7 +945,7 @@ int pnf_phy_ul_config_req(nfapi_pnf_p7_config_t* pnf_p7, nfapi_ul_config_request
uint16_t
curr_sf
=
NFAPI_SFNSF2SF
(
req
->
sfn_sf
);
struct
PHY_VARS_eNB_s
*
eNB
=
RC
.
eNB
[
0
][
0
];
eNB
_rxtx_proc_t
*
proc
=
&
eNB
->
proc
.
L1_proc
;
L1
_rxtx_proc_t
*
proc
=
&
eNB
->
proc
.
L1_proc
;
nfapi_ul_config_request_pdu_t
*
ul_config_pdu_list
=
req
->
ul_config_request_body
.
ul_config_pdu_list
;
for
(
int
i
=
0
;
i
<
req
->
ul_config_request_body
.
number_of_pdus
;
i
++
)
{
...
...
nfapi/oai_integration/nfapi_vnf.c
View file @
36a92f46
...
...
@@ -343,9 +343,9 @@ int pnf_config_resp_cb(nfapi_vnf_config_t* config, int p5_idx, nfapi_pnf_config_
int
wake_eNB_rxtx
(
PHY_VARS_eNB
*
eNB
,
uint16_t
sfn
,
uint16_t
sf
)
{
eNB
_proc_t
*
proc
=&
eNB
->
proc
;
L1
_proc_t
*
proc
=&
eNB
->
proc
;
eNB
_rxtx_proc_t
*
L1_proc
=
(
sf
&
1
)
?
&
proc
->
L1_proc
:
&
proc
->
L1_proc_tx
;
L1
_rxtx_proc_t
*
L1_proc
=
(
sf
&
1
)
?
&
proc
->
L1_proc
:
&
proc
->
L1_proc_tx
;
LTE_DL_FRAME_PARMS
*
fp
=
&
eNB
->
frame_parms
;
...
...
openair1/PHY/LTE_ESTIMATION/lte_estimation.h
View file @
36a92f46
...
...
@@ -212,7 +212,7 @@ void phy_adjust_gain (PHY_VARS_UE *phy_vars_ue,
unsigned
char
eNB_id
);
int
lte_ul_channel_estimation
(
PHY_VARS_eNB
*
phy_vars_eNB
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
module_id_t
UE_id
,
uint8_t
l
,
uint8_t
Ns
);
...
...
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
View file @
36a92f46
...
...
@@ -35,7 +35,7 @@ static int16_t ru_90c[2*128] = {32767, 0,32766, -402,32758, -804,32746, -1206,32
#define SCALE 0x3FFF
int32_t
lte_ul_channel_estimation
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
module_id_t
UE_id
,
unsigned
char
l
,
unsigned
char
Ns
)
{
...
...
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
36a92f46
...
...
@@ -90,7 +90,7 @@ int16_t find_ulsch(uint16_t rnti, PHY_VARS_eNB *eNB,find_type_t type)
void
fill_pdcch_order
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
DCI_ALLOC_t
*
dci_alloc
,
nfapi_dl_config_dci_dl_pdu
*
pdu
)
void
fill_pdcch_order
(
PHY_VARS_eNB
*
eNB
,
L1
_rxtx_proc_t
*
proc
,
DCI_ALLOC_t
*
dci_alloc
,
nfapi_dl_config_dci_dl_pdu
*
pdu
)
{
LTE_DL_FRAME_PARMS
*
fp
=
&
eNB
->
frame_parms
;
uint8_t
*
dci_pdu
=
&
dci_alloc
->
dci_pdu
[
0
];
...
...
@@ -224,7 +224,7 @@ void fill_pdcch_order(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_a
proc
->
frame_tx
,
proc
->
subframe_tx
,
rel8
->
rnti
);
}
void
fill_dci_and_dlsch
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
eNB
_rxtx_proc_t
*
proc
,
DCI_ALLOC_t
*
dci_alloc
,
nfapi_dl_config_dci_dl_pdu
*
pdu
)
void
fill_dci_and_dlsch
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
L1
_rxtx_proc_t
*
proc
,
DCI_ALLOC_t
*
dci_alloc
,
nfapi_dl_config_dci_dl_pdu
*
pdu
)
{
LTE_DL_FRAME_PARMS
*
fp
=
&
eNB
->
frame_parms
;
uint8_t
*
dci_pdu
=
&
dci_alloc
->
dci_pdu
[
0
];
...
...
@@ -1497,7 +1497,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t
}
void
fill_mdci_and_dlsch
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
mDCI_ALLOC_t
*
dci_alloc
,
nfapi_dl_config_mpdcch_pdu
*
pdu
)
{
void
fill_mdci_and_dlsch
(
PHY_VARS_eNB
*
eNB
,
L1
_rxtx_proc_t
*
proc
,
mDCI_ALLOC_t
*
dci_alloc
,
nfapi_dl_config_mpdcch_pdu
*
pdu
)
{
LTE_DL_FRAME_PARMS
*
fp
=
&
eNB
->
frame_parms
;
...
...
@@ -1770,7 +1770,7 @@ void fill_mdci_and_dlsch(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,mDCI_ALLOC_t *d
}
void
fill_dci0
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
eNB
_rxtx_proc_t
*
proc
,
void
fill_dci0
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
L1
_rxtx_proc_t
*
proc
,
DCI_ALLOC_t
*
dci_alloc
,
nfapi_hi_dci0_dci_pdu
*
pdu
)
{
LTE_DL_FRAME_PARMS
*
frame_parms
=
&
eNB
->
frame_parms
;
...
...
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
View file @
36a92f46
...
...
@@ -393,7 +393,7 @@ int dlsch_encoding_2threads(PHY_VARS_eNB *eNB,
//start_meas(&eNB->dlsch_turbo_encoding_preperation_stats);
LTE_DL_FRAME_PARMS
*
frame_parms
=
&
eNB
->
frame_parms
;
eNB
_proc_t
*
proc
=
&
eNB
->
proc
;
L1
_proc_t
*
proc
=
&
eNB
->
proc
;
unsigned
int
G
;
unsigned
int
crc
=
1
;
...
...
openair1/PHY/LTE_TRANSPORT/phich.c
View file @
36a92f46
...
...
@@ -705,7 +705,7 @@ void generate_phich(LTE_DL_FRAME_PARMS *frame_parms,
void
generate_phich_top
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
int16_t
amp
)
{
...
...
openair1/PHY/LTE_TRANSPORT/pilots_mbsfn.c
View file @
36a92f46
...
...
@@ -34,7 +34,7 @@
#include "PHY/LTE_REFSIG/lte_refsig.h"
int
generate_mbsfn_pilot
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
int32_t
**
txdataF
,
int16_t
amp
)
...
...
openair1/PHY/LTE_TRANSPORT/pmch.c
View file @
36a92f46
...
...
@@ -83,7 +83,7 @@ void fill_eNB_dlsch_MCH(PHY_VARS_eNB *eNB,int mcs,int ndi,int rvidx)
}
void
generate_mch
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
uint8_t
*
a
)
void
generate_mch
(
PHY_VARS_eNB
*
eNB
,
L1
_rxtx_proc_t
*
proc
,
uint8_t
*
a
)
{
int
G
;
...
...
openair1/PHY/LTE_TRANSPORT/transport_proto.h
View file @
36a92f46
...
...
@@ -273,7 +273,7 @@ int mch_modulation(int32_t **txdataF,
@param abstraction_flag
*/
void
generate_mch
(
PHY_VARS_eNB
*
phy_vars_eNB
,
eNB
_rxtx_proc_t
*
proc
,
uint8_t
*
a
);
void
generate_mch
(
PHY_VARS_eNB
*
phy_vars_eNB
,
L1
_rxtx_proc_t
*
proc
,
uint8_t
*
a
);
/** \brief This function generates the frequency-domain pilots (cell-specific downlink reference signals)
@param phy_vars_eNB Pointer to eNB variables
...
...
@@ -317,7 +317,7 @@ int32_t generate_pilots_slot(PHY_VARS_eNB *phy_vars_eNB,
int
first_pilot_only
);
int32_t
generate_mbsfn_pilot
(
PHY_VARS_eNB
*
phy_vars_eNB
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
int32_t
**
txdataF
,
int16_t
amp
);
...
...
@@ -410,13 +410,13 @@ void ulsch_extract_rbs_single(int32_t **rxdataF,
void
fill_dci_and_dlsch
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
DCI_ALLOC_t
*
dci_alloc
,
nfapi_dl_config_dci_dl_pdu
*
pdu
);
void
fill_mdci_and_dlsch
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
mDCI_ALLOC_t
*
dci_alloc
,
nfapi_dl_config_mpdcch_pdu
*
pdu
);
void
fill_mdci_and_dlsch
(
PHY_VARS_eNB
*
eNB
,
L1
_rxtx_proc_t
*
proc
,
mDCI_ALLOC_t
*
dci_alloc
,
nfapi_dl_config_mpdcch_pdu
*
pdu
);
void
fill_dci0
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
eNB
_rxtx_proc_t
*
proc
,
DCI_ALLOC_t
*
dci_alloc
,
void
fill_dci0
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
L1
_rxtx_proc_t
*
proc
,
DCI_ALLOC_t
*
dci_alloc
,
nfapi_hi_dci0_dci_pdu
*
pdu
);
void
fill_ulsch
(
PHY_VARS_eNB
*
eNB
,
int
UE_id
,
nfapi_ul_config_ulsch_pdu
*
ulsch_pdu
,
int
frame
,
int
subframe
);
...
...
@@ -427,7 +427,7 @@ int generate_eNB_ulsch_params_from_rar(PHY_VARS_eNB *eNB,
unsigned
char
subframe
);
int
generate_eNB_ulsch_params_from_dci
(
PHY_VARS_eNB
*
PHY_vars_eNB
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
void
*
dci_pdu
,
rnti_t
rnti
,
DCI_format_t
dci_format
,
...
...
@@ -466,7 +466,7 @@ void init_transport_channels(uint8_t);
void
rx_ulsch
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
uint8_t
UE_id
);
...
...
@@ -487,7 +487,7 @@ int ulsch_decoding_data_all(PHY_VARS_eNB *eNB,
@returns 0 on success
*/
unsigned
int
ulsch_decoding
(
PHY_VARS_eNB
*
phy_vars_eNB
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
uint8_t
UE_id
,
uint8_t
control_only_flag
,
uint8_t
Nbundled
,
...
...
@@ -520,7 +520,7 @@ int ulsch_decoding_data(PHY_VARS_eNB *eNB,
int
llr8_flag
);
void
generate_phich_top
(
PHY_VARS_eNB
*
phy_vars_eNB
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
int16_t
amp
);
...
...
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
View file @
36a92f46
...
...
@@ -382,7 +382,7 @@ int ulsch_decoding_data_2thread0(td_params* tdp) {
extern
int
oai_exit
;
void
*
td_thread
(
void
*
param
)
{
PHY_VARS_eNB
*
eNB
=
((
td_params
*
)
param
)
->
eNB
;
eNB
_proc_t
*
proc
=
&
eNB
->
proc
;
L1
_proc_t
*
proc
=
&
eNB
->
proc
;
cpu_set_t
cpuset
;
CPU_ZERO
(
&
cpuset
);
...
...
@@ -412,7 +412,7 @@ void *td_thread(void *param) {
int
ulsch_decoding_data_2thread
(
PHY_VARS_eNB
*
eNB
,
int
UE_id
,
int
harq_pid
,
int
llr8_flag
)
{
eNB
_proc_t
*
proc
=
&
eNB
->
proc
;
L1
_proc_t
*
proc
=
&
eNB
->
proc
;
unsigned
int
r
,
r_offset
=
0
,
Kr
,
Kr_bytes
;
uint8_t
crc_type
;
int
offset
=
0
;
...
...
@@ -762,7 +762,7 @@ static inline unsigned int lte_gold_unscram(unsigned int *x1, unsigned int *x2,
}
unsigned
int
ulsch_decoding
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
unsigned
int
ulsch_decoding
(
PHY_VARS_eNB
*
eNB
,
L1
_rxtx_proc_t
*
proc
,
uint8_t
UE_id
,
uint8_t
control_only_flag
,
uint8_t
Nbundled
,
...
...
openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c
View file @
36a92f46
...
...
@@ -1104,7 +1104,7 @@ void init_ulsch_power_LUT(void) {
}
void
rx_ulsch
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
uint8_t
UE_id
)
{
...
...
@@ -1305,7 +1305,7 @@ void rx_ulsch(PHY_VARS_eNB *eNB,
}
void
rx_ulsch_emul
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
uint8_t
UE_index
)
{
LOG_I
(
PHY
,
"[PHY] EMUL eNB %d rx_ulsch_emul : subframe %d, UE_index %d
\n
"
,
eNB
->
Mod_id
,
proc
->
subframe_rx
,
UE_index
);
...
...
openair1/PHY/defs_eNB.h
View file @
36a92f46
...
...
@@ -748,7 +748,7 @@ typedef struct {
pthread_cond_t
cond_RUs
;
/// mutex for RXn-TXnp4 processing thread
pthread_mutex_t
mutex_RUs
;
}
eNB
_rxtx_proc_t
;
}
L1
_rxtx_proc_t
;
typedef
struct
{
struct
PHY_VARS_eNB_s
*
eNB
;
...
...
@@ -780,7 +780,7 @@ typedef struct {
}
te_params
;
/// Context data structure for eNB subframe processing
typedef
struct
eNB
_proc_t_s
{
typedef
struct
L1
_proc_t_s
{
/// Component Carrier index
uint8_t
CC_id
;
/// thread index
...
...
@@ -919,12 +919,12 @@ typedef struct eNB_proc_t_s {
/// parameters for turbo-encoding worker thread
te_params
tep
[
3
];
/// set of scheduling variables RXn-TXnp4 threads
eNB
_rxtx_proc_t
L1_proc
,
L1_proc_tx
;
L1
_rxtx_proc_t
L1_proc
,
L1_proc_tx
;
/// stats thread pthread descriptor
pthread_t
process_stats_thread
;
/// for waking up tx procedure
RU_proc_t
*
ru_proc
;
}
eNB
_proc_t
;
}
L1
_proc_t
;
...
...
@@ -993,7 +993,7 @@ typedef struct PHY_VARS_eNB_s {
module_id_t
Mod_id
;
uint8_t
CC_id
;
uint8_t
configured
;
eNB
_proc_t
proc
;
L1
_proc_t
proc
;
int
single_thread_flag
;
int
abstraction_flag
;
int
num_RU
;
...
...
openair1/SCHED/fapi_l1.c
View file @
36a92f46
...
...
@@ -48,7 +48,7 @@ extern uint8_t nfapi_mode;
void
handle_nfapi_dci_dl_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
nfapi_dl_config_request_pdu_t
*
dl_config_pdu
)
{
int
idx
=
subframe
&
1
;
...
...
@@ -66,7 +66,7 @@ void handle_nfapi_dci_dl_pdu(PHY_VARS_eNB *eNB,
#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
void
handle_nfapi_mpdcch_pdu
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
nfapi_dl_config_request_pdu_t
*
dl_config_pdu
)
{
int
idx
=
proc
->
subframe_tx
&
1
;
...
...
@@ -81,7 +81,7 @@ void handle_nfapi_mpdcch_pdu(PHY_VARS_eNB *eNB,
#endif
void
handle_nfapi_hi_dci0_dci_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
eNB
_rxtx_proc_t
*
proc
,
void
handle_nfapi_hi_dci0_dci_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
L1
_rxtx_proc_t
*
proc
,
nfapi_hi_dci0_request_pdu_t
*
hi_dci0_config_pdu
)
{
int
idx
=
subframe
&
1
;
...
...
@@ -93,7 +93,7 @@ void handle_nfapi_hi_dci0_dci_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_r
fill_dci0
(
eNB
,
frame
,
subframe
,
proc
,
&
pdcch_vars
->
dci_alloc
[
pdcch_vars
->
num_dci
],
&
hi_dci0_config_pdu
->
dci_pdu
);
}
void
handle_nfapi_hi_dci0_hi_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
eNB
_rxtx_proc_t
*
proc
,
void
handle_nfapi_hi_dci0_hi_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
L1
_rxtx_proc_t
*
proc
,
nfapi_hi_dci0_request_pdu_t
*
hi_dci0_config_pdu
)
{
LTE_eNB_PHICH
*
phich
=
&
eNB
->
phich_vars
[
subframe
&
1
];
...
...
@@ -112,7 +112,7 @@ void handle_nfapi_hi_dci0_hi_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rx
}
void
handle_nfapi_bch_pdu
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
void
handle_nfapi_bch_pdu
(
PHY_VARS_eNB
*
eNB
,
L1
_rxtx_proc_t
*
proc
,
nfapi_dl_config_request_pdu_t
*
dl_config_pdu
,
uint8_t
*
sdu
)
{
...
...
@@ -139,7 +139,7 @@ extern uint32_t localRIV2alloc_LUT100_2[6000];
extern
uint32_t
localRIV2alloc_LUT100_3
[
6000
];
#endif
void
handle_nfapi_dlsch_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
eNB
_rxtx_proc_t
*
proc
,
void
handle_nfapi_dlsch_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
L1
_rxtx_proc_t
*
proc
,
nfapi_dl_config_request_pdu_t
*
dl_config_pdu
,
uint8_t
codeword_index
,
uint8_t
*
sdu
)
...
...
@@ -569,7 +569,7 @@ void handle_srs_pdu(PHY_VARS_eNB *eNB,nfapi_ul_config_request_pdu_t *ul_config_p
AssertFatal
(
i
<
NUMBER_OF_UE_MAX
,
"No room for SRS processing
\n
"
);
}
void
handle_nfapi_ul_pdu
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
void
handle_nfapi_ul_pdu
(
PHY_VARS_eNB
*
eNB
,
L1
_rxtx_proc_t
*
proc
,
nfapi_ul_config_request_pdu_t
*
ul_config_pdu
,
uint16_t
frame
,
uint8_t
subframe
,
uint8_t
srs_present
)
{
...
...
@@ -647,7 +647,7 @@ void handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
void
schedule_response
(
Sched_Rsp_t
*
Sched_INFO
)
{
PHY_VARS_eNB
*
eNB
;
eNB
_rxtx_proc_t
*
proc
;
L1
_rxtx_proc_t
*
proc
;
// copy data from L2 interface into L1 structures
module_id_t
Mod_id
=
Sched_INFO
->
module_id
;
uint8_t
CC_id
=
Sched_INFO
->
CC_id
;
...
...
openair1/SCHED/fapi_l1.h
View file @
36a92f46
...
...
@@ -43,17 +43,17 @@ void fill_ulsch_cqi_indication(PHY_VARS_eNB *eNB,uint16_t frame,uint8_t subframe
void
fill_sr_indication
(
PHY_VARS_eNB
*
eNB
,
uint16_t
rnti
,
int
frame
,
int
subframe
,
uint32_t
stat
);
void
fill_rx_indication
(
PHY_VARS_eNB
*
eNB
,
int
UE_id
,
int
frame
,
int
subframe
);
void
fill_crc_indication
(
PHY_VARS_eNB
*
eNB
,
int
UE_id
,
int
frame
,
int
subframe
,
uint8_t
crc_flag
);
void
handle_nfapi_dci_dl_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
eNB
_rxtx_proc_t
*
proc
,
nfapi_dl_config_request_pdu_t
*
dl_config_pdu
);
void
handle_nfapi_mpdcch_pdu
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
nfapi_dl_config_request_pdu_t
*
dl_config_pdu
);
void
handle_nfapi_hi_dci0_dci_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
eNB
_rxtx_proc_t
*
proc
,
void
handle_nfapi_dci_dl_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
L1
_rxtx_proc_t
*
proc
,
nfapi_dl_config_request_pdu_t
*
dl_config_pdu
);
void
handle_nfapi_mpdcch_pdu
(
PHY_VARS_eNB
*
eNB
,
L1
_rxtx_proc_t
*
proc
,
nfapi_dl_config_request_pdu_t
*
dl_config_pdu
);
void
handle_nfapi_hi_dci0_dci_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
L1
_rxtx_proc_t
*
proc
,
nfapi_hi_dci0_request_pdu_t
*
hi_dci0_config_pdu
);
void
handle_nfapi_hi_dci0_hi_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
eNB
_rxtx_proc_t
*
proc
,
void
handle_nfapi_hi_dci0_hi_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
L1
_rxtx_proc_t
*
proc
,
nfapi_hi_dci0_request_pdu_t
*
hi_dci0_config_pdu
);
void
handle_nfapi_dlsch_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
eNB
_rxtx_proc_t
*
proc
,
void
handle_nfapi_dlsch_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
L1
_rxtx_proc_t
*
proc
,
nfapi_dl_config_request_pdu_t
*
dl_config_pdu
,
uint8_t
codeword_index
,
uint8_t
*
sdu
);
void
handle_nfapi_ul_pdu
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
void
handle_nfapi_ul_pdu
(
PHY_VARS_eNB
*
eNB
,
L1
_rxtx_proc_t
*
proc
,
nfapi_ul_config_request_pdu_t
*
ul_config_pdu
,
uint16_t
frame
,
uint8_t
subframe
,
uint8_t
srs_present
);
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
36a92f46
...
...
@@ -133,7 +133,7 @@ lte_subframe_t get_subframe_direction(uint8_t Mod_id,uint8_t CC_id,uint8_t subfr
}
void
pmch_procedures
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
)
{
void
pmch_procedures
(
PHY_VARS_eNB
*
eNB
,
L1
_rxtx_proc_t
*
proc
)
{
#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
...
...
@@ -312,7 +312,7 @@ void common_signal_procedures (PHY_VARS_eNB *eNB,int frame, int subframe) {
void
pdsch_procedures
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
int
harq_pid
,
LTE_eNB_DLSCH_t
*
dlsch
,
LTE_eNB_DLSCH_t
*
dlsch1
,
...
...
@@ -463,7 +463,7 @@ void pdsch_procedures(PHY_VARS_eNB *eNB,
void
phy_procedures_eNB_TX
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
int
do_meas
)
{
int
frame
=
proc
->
frame_tx
;
...
...
@@ -650,7 +650,7 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
}
void
srs_procedures
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
)
{
void
srs_procedures
(
PHY_VARS_eNB
*
eNB
,
L1
_rxtx_proc_t
*
proc
)
{
LTE_DL_FRAME_PARMS
*
fp
=
&
eNB
->
frame_parms
;
const
int
subframe
=
proc
->
subframe_rx
;
...
...
@@ -713,7 +713,7 @@ void fill_sr_indication(PHY_VARS_eNB *eNB,uint16_t rnti,int frame,int subframe,u
pthread_mutex_unlock
(
&
eNB
->
UL_INFO_mutex
);
}
void
uci_procedures
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
)
void
uci_procedures
(
PHY_VARS_eNB
*
eNB
,
L1
_rxtx_proc_t
*
proc
)
{
LTE_DL_FRAME_PARMS
*
fp
=&
eNB
->
frame_parms
;
uint8_t
SR_payload
=
0
,
pucch_b0b1
[
4
][
2
]
=
{{
0
,
0
},{
0
,
0
},{
0
,
0
},{
0
,
0
}},
harq_ack
[
4
]
=
{
0
,
0
,
0
,
0
};
...
...
@@ -1246,7 +1246,7 @@ void uci_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
}
}
void
pusch_procedures
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
)
void
pusch_procedures
(
PHY_VARS_eNB
*
eNB
,
L1
_rxtx_proc_t
*
proc
)
{
uint32_t
ret
=
0
,
i
;
uint32_t
harq_pid
;
...
...
@@ -1468,7 +1468,7 @@ extern void *td_thread(void*);
void
init_td_thread
(
PHY_VARS_eNB
*
eNB
)
{
eNB
_proc_t
*
proc
=
&
eNB
->
proc
;
L1
_proc_t
*
proc
=
&
eNB
->
proc
;
proc
->
tdp
.
eNB
=
eNB
;
proc
->
instance_cnt_td
=
-
1
;
...
...
@@ -1482,7 +1482,7 @@ void init_td_thread(PHY_VARS_eNB *eNB) {
}
void
kill_td_thread
(
PHY_VARS_eNB
*
eNB
)
{
eNB
_proc_t
*
proc
=
&
eNB
->
proc
;
L1
_proc_t
*
proc
=
&
eNB
->
proc
;
proc
->
instance_cnt_td
=
0
;
pthread_cond_signal
(
&
proc
->
cond_td
);
...
...
@@ -1495,7 +1495,7 @@ extern void *te_thread(void*);
void
init_te_thread
(
PHY_VARS_eNB
*
eNB
)
{
eNB
_proc_t
*
proc
=
&
eNB
->
proc
;
L1
_proc_t
*
proc
=
&
eNB
->
proc
;
for
(
int
i
=
0
;
i
<
3
;
i
++
){
proc
->
tep
[
i
].
eNB
=
eNB
;
...
...
@@ -1511,7 +1511,7 @@ void init_te_thread(PHY_VARS_eNB *eNB) {
}
void
kill_te_thread
(
PHY_VARS_eNB
*
eNB
)
{
eNB
_proc_t
*
proc
=
&
eNB
->
proc
;
L1
_proc_t
*
proc
=
&
eNB
->
proc
;
for
(
int
i
=
0
;
i
<
3
;
i
++
){
proc
->
tep
[
i
].
instance_cnt_te
=
0
;
...
...
@@ -2027,7 +2027,7 @@ void fill_crc_indication(PHY_VARS_eNB *eNB,int UE_id,int frame,int subframe,uint
pthread_mutex_unlock
(
&
eNB
->
UL_INFO_mutex
);
}
void
phy_procedures_eNB_uespec_RX
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
)
void
phy_procedures_eNB_uespec_RX
(
PHY_VARS_eNB
*
eNB
,
L1
_rxtx_proc_t
*
proc
)
{
//RX processing for ue-specific resources (i
LTE_DL_FRAME_PARMS
*
fp
=&
eNB
->
frame_parms
;
...
...
openair1/SCHED/sched_common.h
View file @
36a92f46
...
...
@@ -180,7 +180,7 @@ uint8_t is_SR_TXOp(PHY_VARS_UE *phy_vars_ue,UE_rxtx_proc_t *proc,uint8_t eNB_id)
@param UE_id ID of UE which may be issuing the SR
@returns 1 if TXOp is active.
*/
uint8_t
is_SR_subframe
(
PHY_VARS_eNB
*
phy_vars_eNB
,
eNB
_rxtx_proc_t
*
proc
,
uint8_t
UE_id
);
uint8_t
is_SR_subframe
(
PHY_VARS_eNB
*
phy_vars_eNB
,
L1
_rxtx_proc_t
*
proc
,
uint8_t
UE_id
);
/*! \brief Gives the UL subframe corresponding to a PDDCH order in subframe n
@param frame_parms Pointer to DL frame parameters
...
...
@@ -247,7 +247,7 @@ TDD, this routine computes the procedure described in Section 10.1 of 36.213 (th
@param n1_pucch3 Pointer to n1_pucch3
*/
void
get_n1_pucch_eNB
(
PHY_VARS_eNB
*
phy_vars_eNB
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
uint8_t
UE_id
,
int16_t
*
n1_pucch0
,
int16_t
*
n1_pucch1
,
...
...
@@ -266,7 +266,7 @@ void get_n1_pucch_eNB(PHY_VARS_eNB *phy_vars_eNB,
*/
void
process_HARQ_feedback
(
uint8_t
UE_id
,
PHY_VARS_eNB
*
phy_vars_eNB
,
eNB
_rxtx_proc_t
*
proc
,
L1
_rxtx_proc_t
*
proc
,
uint8_t
pusch_flag
,
uint8_t
*
pucch_payload
,
uint8_t
pucch_sel
,
...
...
openair1/SCHED/sched_eNB.h
View file @
36a92f46
...
...
@@ -92,13 +92,13 @@ enum openair_HARQ_TYPE {
@param abstraction_flag Indicator of PHY abstraction
@param do_meas Do inline timing measurement
*/
void
phy_procedures_eNB_TX
(
PHY_VARS_eNB
*
phy_vars_eNB
,
eNB
_rxtx_proc_t
*
proc
,
int
do_meas
);
void
phy_procedures_eNB_TX
(
PHY_VARS_eNB
*
phy_vars_eNB
,
L1
_rxtx_proc_t
*
proc
,
int
do_meas
);
/*! \brief Scheduling for eNB RX UE-specific procedures in normal subframes.
@param phy_vars_eNB Pointer to eNB variables on which to act
@param proc Pointer to RXn-TXnp4 proc information
*/
void
phy_procedures_eNB_uespec_RX
(
PHY_VARS_eNB
*
phy_vars_eNB
,
eNB
_rxtx_proc_t
*
proc
);
void
phy_procedures_eNB_uespec_RX
(
PHY_VARS_eNB
*
phy_vars_eNB
,
L1
_rxtx_proc_t
*
proc
);
/*! \brief Scheduling for eNB TX procedures in TDD S-subframes.
@param phy_vars_eNB Pointer to eNB variables on which to act
...
...
@@ -110,7 +110,7 @@ void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *phy_vars_eNB,eNB_rxtx_proc_t *pr
@param phy_vars_eNB Pointer to eNB variables on which to act
@param abstraction_flag Indicator of PHY abstraction
*/
void
phy_procedures_eNB_common_RX
(
PHY_VARS_eNB
*
phy_vars_eNB
,
eNB
_rxtx_proc_t
*
proc
);
void
phy_procedures_eNB_common_RX
(
PHY_VARS_eNB
*
phy_vars_eNB
,
L1
_rxtx_proc_t
*
proc
);
/*! \brief Scheduling for eNB TX procedures in TDD S-subframes.
@param phy_vars_eNB Pointer to eNB variables on which to act
...
...
@@ -121,7 +121,7 @@ void phy_procedures_eNB_S_TX(PHY_VARS_eNB *phy_vars_eNB);
/*! \brief Scheduling for eNB RX procedures in TDD S-subframes.
@param phy_vars_eNB Pointer to eNB variables on which to act
*/
void
phy_procedures_eNB_S_RX
(
PHY_VARS_eNB
*
phy_vars_eNB
,
eNB
_rxtx_proc_t
*
proc
);
void
phy_procedures_eNB_S_RX
(
PHY_VARS_eNB
*
phy_vars_eNB
,
L1
_rxtx_proc_t
*
proc
);
/*! \brief Scheduling for eNB PRACH RX procedures
@param phy_vars_eNB Pointer to eNB variables on which to act
...
...
@@ -186,7 +186,7 @@ void ra_failed(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index);
@param UE_id ID of UE which may be issuing the SR
@returns 1 if TXOp is active.
*/
uint8_t
is_SR_subframe
(
PHY_VARS_eNB
*
phy_vars_eNB
,
eNB
_rxtx_proc_t
*
proc
,
uint8_t
UE_id
);
uint8_t
is_SR_subframe
(
PHY_VARS_eNB
*
phy_vars_eNB
,
L1
_rxtx_proc_t
*
proc
,
uint8_t
UE_id
);
int8_t
find_ue_dlsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
phy_vars_eNB
);
int8_t
find_ue_ulsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
phy_vars_eNB
);
...
...
openair1/SIMULATION/LTE_PHY/dlsim.c
View file @
36a92f46
...
...
@@ -1443,7 +1443,7 @@ int main(int argc, char **argv)
eNB
->
UE_stats
[
1
].
DL_pmi_single
=
0
;
}
eNB
_rxtx_proc_t
*
proc_eNB
=
&
eNB
->
proc
.
proc_rxtx
[
0
];
//UE->current_thread_id[subframe]];
L1
_rxtx_proc_t
*
proc_eNB
=
&
eNB
->
proc
.
proc_rxtx
[
0
];
//UE->current_thread_id[subframe]];
if
(
input_fd
==
NULL
)
{
...
...
targets/RT/USER/lte-enb.c
View file @
36a92f46
...
...
@@ -156,7 +156,7 @@ void init_eNB(int,int);
void
stop_eNB
(
int
nb_inst
);
int
wakeup_tx
(
PHY_VARS_eNB
*
eNB
);
int
wakeup_txfh
(
eNB
_rxtx_proc_t
*
proc
,
PHY_VARS_eNB
*
eNB
);
int
wakeup_txfh
(
L1
_rxtx_proc_t
*
proc
,
PHY_VARS_eNB
*
eNB
);
void
wakeup_prach_eNB
(
PHY_VARS_eNB
*
eNB
,
RU_t
*
ru
,
int
frame
,
int
subframe
);
#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
void
wakeup_prach_eNB_br
(
PHY_VARS_eNB
*
eNB
,
RU_t
*
ru
,
int
frame
,
int
subframe
);
...
...
@@ -172,7 +172,7 @@ extern void add_subframe(uint16_t *frameP, uint16_t *subframeP, int offset);
#define TICK_TO_US(ts) (ts.trials==0?0:ts.diff/ts.trials)
static
inline
int
rxtx
(
PHY_VARS_eNB
*
eNB
,
eNB
_rxtx_proc_t
*
proc
,
char
*
thread_name
)
{
static
inline
int
rxtx
(
PHY_VARS_eNB
*
eNB
,
L1
_rxtx_proc_t
*
proc
,
char
*
thread_name
)
{
start_meas
(
&
softmodem_stats_rxtx_sf
);
LOG_I
(
PHY
,
"ENTERED rxtx
\n
"
);
if
(
nfapi_mode
==
1
)
{
...
...
@@ -332,8 +332,8 @@ LOG_I(PHY,"ENTERED rxtx\n");
static
void
*
L1_thread_tx
(
void
*
param
)
{
eNB_proc_t
*
eNB_proc
=
(
eNB
_proc_t
*
)
param
;
eNB
_rxtx_proc_t
*
proc
=
&
eNB_proc
->
L1_proc_tx
;
L1_proc_t
*
eNB_proc
=
(
L1
_proc_t
*
)
param
;
L1
_rxtx_proc_t
*
proc
=
&
eNB_proc
->
L1_proc_tx
;
PHY_VARS_eNB
*
eNB
=
RC
.
eNB
[
0
][
proc
->
CC_id
];
LOG_I
(
PHY
,
"ENTERED L1_thread_tx
\n
"
);
char
thread_name
[
100
];
...
...
@@ -374,22 +374,22 @@ static void* L1_thread_tx(void* param) {
/*!
* \brief The RX UE-specific and TX thread of eNB.
* \param param is a \ref
eNB
_proc_t structure which contains the info what to process.
* \param param is a \ref
L1
_proc_t structure which contains the info what to process.
* \returns a pointer to an int. The storage is not on the heap and must not be freed.
*/
static
void
*
L1_thread
(
void
*
param
)
{
static
int
eNB_thread_rxtx_status
;
//
eNB_proc_t *eNB_proc = (eNB
_proc_t*)param;
eNB
_rxtx_proc_t
*
proc
;
//
L1_proc_t *eNB_proc = (L1
_proc_t*)param;
L1
_rxtx_proc_t
*
proc
;
LOG_I
(
PHY
,
"ENTERED L1_thread
\n
"
);
// Working
if
(
nfapi_mode
==
2
){
proc
=
(
eNB
_rxtx_proc_t
*
)
param
;
proc
=
(
L1
_rxtx_proc_t
*
)
param
;
}
else
{
eNB_proc_t
*
eNB_proc
=
(
eNB
_proc_t
*
)
param
;
L1_proc_t
*
eNB_proc
=
(
L1
_proc_t
*
)
param
;
proc
=
&
eNB_proc
->
L1_proc
;
}
...
...
@@ -460,8 +460,8 @@ LOG_I(PHY,"ENTERED L1_thread\n");
void
eNB_top
(
PHY_VARS_eNB
*
eNB
,
int
frame_rx
,
int
subframe_rx
,
char
*
string
,
RU_t
*
ru
)
{
eNB
_proc_t
*
proc
=
&
eNB
->
proc
;
eNB
_rxtx_proc_t
*
L1_proc
=
&
proc
->
L1_proc
;
L1
_proc_t
*
proc
=
&
eNB
->
proc
;
L1
_rxtx_proc_t
*
L1_proc
=
&
proc
->
L1_proc
;
LTE_DL_FRAME_PARMS
*
fp
=
&
ru
->
frame_parms
;
RU_proc_t
*
ru_proc
=&
ru
->
proc
;
...
...
@@ -484,7 +484,7 @@ void eNB_top(PHY_VARS_eNB *eNB, int frame_rx, int subframe_rx, char *string,RU_t
}
}
int
wakeup_txfh
(
eNB
_rxtx_proc_t
*
proc
,
PHY_VARS_eNB
*
eNB
)
{
int
wakeup_txfh
(
L1
_rxtx_proc_t
*
proc
,
PHY_VARS_eNB
*
eNB
)
{
RU_proc_t
*
ru_proc
;
struct
timespec
wait
;
...
...
@@ -539,14 +539,14 @@ int wakeup_txfh(eNB_rxtx_proc_t *proc,PHY_VARS_eNB *eNB) {
}
int
wakeup_tx
(
PHY_VARS_eNB
*
eNB
)
{
eNB
_proc_t
*
proc
=&
eNB
->
proc
;
L1
_proc_t
*
proc
=&
eNB
->
proc
;
/* LTE_DL_FRAME_PARMS *fp;
fp = &eNB->frame_parms;
if ((fp->frame_type == TDD) && (subframe_select(fp,proc_rxtx0->subframe_tx)==SF_UL)) return;
*/
eNB
_rxtx_proc_t
*
L1_proc_tx
=
&
proc
->
L1_proc_tx
;
eNB
_rxtx_proc_t
*
L1_proc
=
&
proc
->
L1_proc
;
L1
_rxtx_proc_t
*
L1_proc_tx
=
&
proc
->
L1_proc_tx
;
L1
_rxtx_proc_t
*
L1_proc
=
&
proc
->
L1_proc
;
struct
timespec
wait
;
...
...
@@ -586,9 +586,9 @@ if ((fp->frame_type == TDD) && (subframe_select(fp,proc_rxtx0->subframe_tx)==SF_
int
wakeup_rxtx
(
PHY_VARS_eNB
*
eNB
,
RU_t
*
ru
)
{
eNB
_proc_t
*
proc
=&
eNB
->
proc
;
L1
_proc_t
*
proc
=&
eNB
->
proc
;
RU_proc_t
*
ru_proc
=&
ru
->
proc
;
eNB
_rxtx_proc_t
*
L1_proc
=&
proc
->
L1_proc
;
L1
_rxtx_proc_t
*
L1_proc
=&
proc
->
L1_proc
;
LTE_DL_FRAME_PARMS
*
fp
=
&
eNB
->
frame_parms
;
LOG_I
(
PHY
,
"ENTERED wakeup_rxtx
\n
"
);
...
...
@@ -640,7 +640,7 @@ int wakeup_rxtx(PHY_VARS_eNB *eNB,RU_t *ru) {
void
wakeup_prach_eNB
(
PHY_VARS_eNB
*
eNB
,
RU_t
*
ru
,
int
frame
,
int
subframe
)
{
eNB
_proc_t
*
proc
=
&
eNB
->
proc
;
L1
_proc_t
*
proc
=
&
eNB
->
proc
;
LTE_DL_FRAME_PARMS
*
fp
=&
eNB
->
frame_parms
;
int
i
;
...
...
@@ -702,7 +702,7 @@ void wakeup_prach_eNB(PHY_VARS_eNB *eNB,RU_t *ru,int frame,int subframe) {
#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
void
wakeup_prach_eNB_br
(
PHY_VARS_eNB
*
eNB
,
RU_t
*
ru
,
int
frame
,
int
subframe
)
{
eNB
_proc_t
*
proc
=
&
eNB
->
proc
;
L1
_proc_t
*
proc
=
&
eNB
->
proc
;
LTE_DL_FRAME_PARMS
*
fp
=&
eNB
->
frame_parms
;
int
i
;
...
...
@@ -766,7 +766,7 @@ void wakeup_prach_eNB_br(PHY_VARS_eNB *eNB,RU_t *ru,int frame,int subframe) {
/*!
* \brief The prach receive thread of eNB.
* \param param is a \ref
eNB
_proc_t structure which contains the info what to process.
* \param param is a \ref
L1
_proc_t structure which contains the info what to process.
* \returns a pointer to an int. The storage is not on the heap and must not be freed.
*/
static
void
*
eNB_thread_prach
(
void
*
param
)
{
...
...
@@ -774,7 +774,7 @@ static void* eNB_thread_prach( void* param ) {
PHY_VARS_eNB
*
eNB
=
(
PHY_VARS_eNB
*
)
param
;
eNB
_proc_t
*
proc
=
&
eNB
->
proc
;
L1
_proc_t
*
proc
=
&
eNB
->
proc
;
// set default return value
eNB_thread_prach_status
=
0
;
...
...
@@ -809,7 +809,7 @@ static void* eNB_thread_prach( void* param ) {
#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/*!
* \brief The prach receive thread of eNB for BL/CE UEs.
* \param param is a \ref
eNB
_proc_t structure which contains the info what to process.
* \param param is a \ref
L1
_proc_t structure which contains the info what to process.
* \returns a pointer to an int. The storage is not on the heap and must not be freed.
*/
static
void
*
eNB_thread_prach_br
(
void
*
param
)
{
...
...
@@ -817,7 +817,7 @@ static void* eNB_thread_prach_br( void* param ) {
PHY_VARS_eNB
*
eNB
=
(
PHY_VARS_eNB
*
)
param
;
eNB
_proc_t
*
proc
=
&
eNB
->
proc
;
L1
_proc_t
*
proc
=
&
eNB
->
proc
;
// set default return value
eNB_thread_prach_status
=
0
;
...
...
@@ -888,8 +888,8 @@ void init_eNB_proc(int inst) {
/*int i=0;*/
int
CC_id
;
PHY_VARS_eNB
*
eNB
;
eNB
_proc_t
*
proc
;
eNB
_rxtx_proc_t
*
L1_proc
,
*
L1_proc_tx
;
L1
_proc_t
*
proc
;
L1
_rxtx_proc_t
*
L1_proc
,
*
L1_proc_tx
;
pthread_attr_t
*
attr0
=
NULL
,
*
attr1
=
NULL
,
*
attr_prach
=
NULL
;
#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
pthread_attr_t
*
attr_prach_br
=
NULL
;
...
...
@@ -996,7 +996,7 @@ void init_eNB_proc(int inst) {
if (eNB->node_timing == synch_to_ext_device) { //master
eNB->proc.num_slaves = MAX_NUM_CCs-1;
eNB->proc.slave_proc = (
eNB_proc_t**)malloc(eNB->proc.num_slaves*sizeof(eNB
_proc_t*));
eNB->proc.slave_proc = (
L1_proc_t**)malloc(eNB->proc.num_slaves*sizeof(L1
_proc_t*));
for (i=0; i< eNB->proc.num_slaves; i++) {
if (i < CC_id) eNB->proc.slave_proc[i] = &(PHY_vars_eNB_g[inst][i]->proc);
...
...
@@ -1023,8 +1023,8 @@ void kill_eNB_proc(int inst) {
int
*
status
;
PHY_VARS_eNB
*
eNB
;
eNB
_proc_t
*
proc
;
eNB
_rxtx_proc_t
*
L1_proc
,
*
L1_proc_tx
;
L1
_proc_t
*
proc
;
L1
_rxtx_proc_t
*
L1_proc
,
*
L1_proc_tx
;
for
(
int
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
eNB
=
RC
.
eNB
[
inst
][
CC_id
];
...
...
targets/RT/USER/lte-ru.c
View file @
36a92f46
...
...
@@ -820,7 +820,7 @@ void tx_rf(RU_t *ru) {
/*!
* \brief The Asynchronous RX/TX FH thread of RAU/RCC/eNB/RRU.
* This handles the RX FH for an asynchronous RRU/UE
* \param param is a \ref
eNB
_proc_t structure which contains the info what to process.
* \param param is a \ref
L1
_proc_t structure which contains the info what to process.
* \returns a pointer to an int. The storage is not on the heap and must not be freed.
*/
static
void
*
ru_thread_asynch_rxtx
(
void
*
param
)
{
...
...
@@ -1140,7 +1140,7 @@ void wakeup_L1s(RU_t *ru) {
int
i
;
PHY_VARS_eNB
**
eNB_list
=
ru
->
eNB_list
;
PHY_VARS_eNB
*
eNB
=
eNB_list
[
0
];
eNB
_proc_t
*
proc
=
&
eNB
->
proc
;
L1
_proc_t
*
proc
=
&
eNB
->
proc
;
RU_proc_t
*
ruproc
=
&
ru
->
proc
;
struct
timespec
t
;
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
);
...
...
@@ -1487,8 +1487,8 @@ static void* ru_thread_tx( void* param ) {
RU_t
*
ru
=
(
RU_t
*
)
param
;
RU_proc_t
*
proc
=
&
ru
->
proc
;
PHY_VARS_eNB
*
eNB
;
eNB
_proc_t
*
eNB_proc
;
eNB
_rxtx_proc_t
*
L1_proc
;
L1
_proc_t
*
eNB_proc
;
L1
_rxtx_proc_t
*
L1_proc
;
cpu_set_t
cpuset
;
CPU_ZERO
(
&
cpuset
);
...
...
@@ -1993,7 +1993,7 @@ void* pre_scd_thread( void* param ){
#ifdef PHY_TX_THREAD
/*!
* \brief The phy tx thread of eNB.
* \param param is a \ref
eNB
_proc_t structure which contains the info what to process.
* \param param is a \ref
L1
_proc_t structure which contains the info what to process.
* \returns a pointer to an int. The storage is not on the heap and must not be freed.
*/
static
void
*
eNB_thread_phy_tx
(
void
*
param
)
{
...
...
@@ -2004,7 +2004,7 @@ static void* eNB_thread_phy_tx( void* param ) {
RU_proc_t
*
proc
=
&
ru
->
proc
;
PHY_VARS_eNB
**
eNB_list
=
ru
->
eNB_list
;
eNB
_rxtx_proc_t
L1_proc
;
L1
_rxtx_proc_t
L1_proc
;
// set default return value
eNB_thread_phy_tx_status
=
0
;
...
...
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