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
常顺宇
OpenXG-RAN
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