Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
openairinterface5G
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Merge Requests
16
Merge Requests
16
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
oai
openairinterface5G
Commits
12b81a5b
Commit
12b81a5b
authored
Oct 30, 2018
by
Wang Tsu-Han
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixes after the raneming of eNB_proc_t and eNB_rxtx_proc_t
parent
49d6f333
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
45 additions
and
45 deletions
+45
-45
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
targets/RT/USER/lte-enb.c
targets/RT/USER/lte-enb.c
+29
-29
targets/RT/USER/lte-ru.c
targets/RT/USER/lte-ru.c
+5
-5
No files found.
nfapi/oai_integration/nfapi_pnf.c
View file @
12b81a5b
...
...
@@ -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 @
12b81a5b
...
...
@@ -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
;
...
...
targets/RT/USER/lte-enb.c
View file @
12b81a5b
...
...
@@ -144,7 +144,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
);
...
...
@@ -160,9 +160,9 @@ 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
);
//
eNB
_rxtx_proc_t *L1_proc_tx = &eNB->proc.L1_proc_tx;
//
L1
_rxtx_proc_t *L1_proc_tx = &eNB->proc.L1_proc_tx;
// *******************************************************************
...
...
@@ -321,8 +321,8 @@ static inline int rxtx(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, char *thread_nam
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
];
char
thread_name
[
100
];
...
...
@@ -364,22 +364,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
;
// 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
;
}
...
...
@@ -448,8 +448,8 @@ static void* L1_thread( void* param ) {
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
;
...
...
@@ -472,7 +472,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_t
*
ru
;
RU_proc_t
*
ru_proc
;
...
...
@@ -527,10 +527,10 @@ 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
;
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
;
...
...
@@ -570,10 +570,10 @@ int wakeup_tx(PHY_VARS_eNB *eNB) {
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
;
...
...
@@ -649,7 +649,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
;
...
...
@@ -709,7 +709,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
;
...
...
@@ -770,7 +770,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
)
{
...
...
@@ -778,7 +778,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
;
...
...
@@ -813,7 +813,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
)
{
...
...
@@ -821,7 +821,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
;
...
...
@@ -892,8 +892,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
;
...
...
@@ -1002,7 +1002,7 @@ printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~proc->RU_mask_tx = %d\n", proc
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);
...
...
@@ -1029,8 +1029,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 @
12b81a5b
...
...
@@ -956,7 +956,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
)
{
...
...
@@ -1531,8 +1531,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
);
...
...
@@ -1992,7 +1992,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
)
{
...
...
@@ -2003,7 +2003,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