Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
oai
openairinterface5G
Commits
de1996ec
Commit
de1996ec
authored
May 15, 2018
by
HARADA Masayuki
Browse files
change compile option from UE_EXPANSION to UE_EXPANSION,PHY_TX_THREAD,PRE_SCD_THREAD.
parent
bb6d1165
Changes
29
Hide whitespace changes
Inline
Side-by-side
common/utils/itti/intertask_interface.c
View file @
de1996ec
...
...
@@ -54,9 +54,7 @@
#include
"signals.h"
#include
"timer.h"
#ifdef UE_EXPANSION
#include
"log.h"
#endif
/* ITTI DEBUG groups */
#define ITTI_DEBUG_POLL (1<<0)
...
...
@@ -361,7 +359,6 @@ int itti_send_msg_to_task(task_id_t destination_task_id, instance_t instance, Me
/* Enqueue message in destination task queue */
if
(
lfds611_queue_enqueue
(
itti_desc
.
tasks
[
destination_task_id
].
message_queue
,
new
)
==
0
)
{
#ifdef UE_EXPANSION
LOG_I
(
UDP_
,
" Assertion Message %s(id:%d), number %lu with priority %d can not be sent from (%u:%s) to queue (%u:%s). discarding...
\n
"
,
itti_desc
.
messages_info
[
message_id
].
name
,
message_id
,
...
...
@@ -374,9 +371,6 @@ int itti_send_msg_to_task(task_id_t destination_task_id, instance_t instance, Me
int
result
=
itti_free
(
origin_task_id
,
message
);
AssertFatal
(
result
==
EXIT_SUCCESS
,
"Failed to free memory (%d)!
\n
"
,
result
);
return
0
;
#else
AssertFatal
(
0
,
"Error: lfds611_queue_enqueue returns 0, queue is full, exiting
\n
"
);
#endif
}
{
...
...
@@ -530,14 +524,10 @@ static inline void itti_receive_msg_internal_event_fd(task_id_t task_id, uint8_t
if
(
lfds611_queue_dequeue
(
itti_desc
.
tasks
[
task_id
].
message_queue
,
(
void
**
)
&
message
)
==
0
)
{
/* No element in list -> this should not happen */
#ifdef UE_EXPANSION
LOG_I
(
UDP_
,
"Assertion No message in queue for task %d while there are %d events and some for the messages queue!
\n
"
,
task_id
,
epoll_ret
);
/* Mark that the event has been processed */
itti_desc
.
threads
[
thread_id
].
events
[
i
].
events
&=
~
EPOLLIN
;
return
;
#else
AssertFatal
(
0
,
"No message in queue for task %d while there are %d events and some for the messages queue!
\n
"
,
task_id
,
epoll_ret
);
#endif
}
AssertFatal
(
message
!=
NULL
,
"Message from message queue is NULL!
\n
"
);
...
...
openair1/PHY/INIT/lte_init.c
View file @
de1996ec
...
...
@@ -649,11 +649,7 @@ void phy_config_sib13_eNB(module_id_t Mod_id,int CC_id,int mbsfn_Area_idx,
void
phy_config_dedicated_eNB_step2
(
PHY_VARS_eNB
*
eNB
)
{
#ifndef UE_EXPANSION
uint8_t
UE_id
;
#else
uint16_t
UE_id
;
#endif
struct
PhysicalConfigDedicated
*
physicalConfigDedicated
;
LTE_DL_FRAME_PARMS
*
fp
=&
eNB
->
frame_parms
;
...
...
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
de1996ec
...
...
@@ -800,19 +800,11 @@ void generate_RIV_tables()
// n_tilde_PRB(2,3) = (3,5)
// n_tilde_PRB(0,1) = (0,2)
#ifndef UE_EXPANSION
int8_t
find_dlsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
)
#else
int16_t
find_dlsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
)
#endif
{
#ifndef UE_EXPANSION
uint8_t
i
;
int8_t
first_free_index
=-
1
;
#else
uint16_t
i
;
int16_t
first_free_index
=-
1
;
#endif
AssertFatal
(
eNB
!=
NULL
,
"eNB is null
\n
"
);
for
(
i
=
0
;
i
<
NUMBER_OF_UE_MAX
;
i
++
)
{
...
...
@@ -829,19 +821,10 @@ int16_t find_dlsch(uint16_t rnti, PHY_VARS_eNB *eNB,find_type_t type)
return
first_free_index
;
}
#ifndef UE_EXPANSION
int8_t
find_ulsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
)
#else
int16_t
find_ulsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
)
#endif
{
#ifndef UE_EXPANSION
uint8_t
i
;
int8_t
first_free_index
=-
1
;
#else
uint16_t
i
;
int16_t
first_free_index
=-
1
;
#endif
AssertFatal
(
eNB
!=
NULL
,
"eNB is null
\n
"
);
for
(
i
=
0
;
i
<
NUMBER_OF_UE_MAX
;
i
++
)
{
...
...
@@ -1089,7 +1072,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t
}
dlsch0_harq
->
ndi
=
rel8
->
new_data_indicator_1
;
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0
->
active
[
subframe
]
=
1
;
#else
dlsch0
->
active
=
1
;
...
...
@@ -1271,7 +1254,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t
dlsch0_harq
->
Qm
=
2
;
dlsch0_harq
->
TBS
=
TBStable
[
I_mcs
][
NPRB
-
1
];
dlsch0
->
harq_ids
[
frame
%
2
][
subframe
]
=
rel8
->
harq_process
;
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0
->
active
[
subframe
]
=
1
;
#else
dlsch0
->
active
=
1
;
...
...
@@ -1289,7 +1272,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t
case
NFAPI_DL_DCI_FORMAT_1
:
dci_alloc
->
format
=
format1
;
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0
->
active
[
subframe
]
=
1
;
#else
dlsch0
->
active
=
1
;
...
...
@@ -1438,7 +1421,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t
dlsch0_harq
->
dl_power_off
=
1
;
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0
->
active
[
subframe
]
=
1
;
#else
dlsch0
->
active
=
1
;
...
...
@@ -1653,7 +1636,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t
// assume both TBs are active
dlsch0_harq
->
Nl
=
1
;
dlsch1_harq
->
Nl
=
1
;
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0
->
active
[
subframe
]
=
1
;
dlsch1
->
active
[
subframe
]
=
1
;
#else
...
...
@@ -1665,7 +1648,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t
// check if either TB is disabled (see 36-213 V11.3 Section )
if
((
dlsch0_harq
->
rvidx
==
1
)
&&
(
dlsch0_harq
->
mcs
==
0
))
{
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0
->
active
[
subframe
]
=
0
;
#else
dlsch0
->
active
=
0
;
...
...
@@ -1674,7 +1657,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t
}
if
((
dlsch1_harq
->
rvidx
==
1
)
&&
(
dlsch1_harq
->
mcs
==
0
))
{
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch1
->
active
[
subframe
]
=
0
;
#else
dlsch1
->
active
=
0
;
...
...
@@ -1690,7 +1673,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t
dlsch0_harq
->
TBS
=
TBStable
[
get_I_TBS
(
dlsch0_harq
->
mcs
)][
dlsch0_harq
->
nb_rb
-
1
];
dlsch1_harq
->
TBS
=
TBStable
[
get_I_TBS
(
dlsch1_harq
->
mcs
)][
dlsch0_harq
->
nb_rb
-
1
];
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
if
((
dlsch0
->
active
[
subframe
]
==
1
)
&&
(
dlsch1
->
active
[
subframe
]
==
1
))
{
#else
if
((
dlsch0
->
active
==
1
)
&&
(
dlsch1
->
active
==
1
))
{
...
...
@@ -1704,7 +1687,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t
dlsch1_harq
->
mimo_mode
=
ALAMOUTI
;
}
}
else
if
(
fp
->
nb_antenna_ports_eNB
==
4
)
{
// 4 antenna case
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
if
((
dlsch0
->
active
[
subframe
]
==
1
)
&&
(
dlsch1
->
active
[
subframe
]
==
1
))
{
#else
if
((
dlsch0
->
active
==
1
)
&&
(
dlsch1
->
active
==
1
))
{
...
...
@@ -1748,7 +1731,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t
LOG_E
(
PHY
,
"Illegal value (3) for TPMI in Format 2A DCI
\n
"
);
break
;
}
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
}
else
if
(
dlsch0
->
active
[
subframe
]
==
1
)
{
#else
}
else
if
(
dlsch0
->
active
==
1
)
{
...
...
@@ -1772,7 +1755,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t
LOG_E
(
PHY
,
"Illegal value %d for TPMI in Format 2A DCI with one transport block enabled
\n
"
,
rel8
->
precoding_information
);
break
;
}
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
}
else
if
(
dlsch1
->
active
[
subframe
]
==
1
)
{
#else
}
else
if
(
dlsch1
->
active
==
1
)
{
...
...
@@ -1802,14 +1785,14 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t
}
// reset HARQ process if this is the first transmission
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
if
((
dlsch0
->
active
[
subframe
]
==
1
)
&&
(
dlsch0_harq
->
round
==
0
))
#else
if
((
dlsch0
->
active
==
1
)
&&
(
dlsch0_harq
->
round
==
0
))
#endif
dlsch0_harq
->
status
=
ACTIVE
;
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
if
((
dlsch1
->
active
[
subframe
]
==
1
)
&&
(
dlsch1_harq
->
round
==
0
))
#else
if
((
dlsch1
->
active
==
1
)
&&
(
dlsch1_harq
->
round
==
0
))
...
...
@@ -1987,7 +1970,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t
printf
(
"RV0 = %d, RV1 = %d. MCS0 = %d, MCS1=%d
\n
"
,
rel8
->
redundancy_version_1
,
rel8
->
redundancy_version_2
,
rel8
->
mcs_1
,
rel8
->
mcs_2
);
#endif
if
(
TB0_active
&&
TB1_active
&&
rel8
->
transport_block_to_codeword_swap_flag
==
0
)
{
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0
->
active
[
subframe
]
=
1
;
dlsch1
->
active
[
subframe
]
=
1
;
#else
...
...
@@ -2015,7 +1998,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t
else
if
(
TB0_active
&&
TB1_active
&&
rel8
->
transport_block_to_codeword_swap_flag
==
1
)
{
dlsch0
=
eNB
->
dlsch
[
UE_id
][
1
];
dlsch1
=
eNB
->
dlsch
[
UE_id
][
0
];
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0
->
active
[
subframe
]
=
1
;
dlsch1
->
active
[
subframe
]
=
1
;
#else
...
...
@@ -2039,7 +2022,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t
dlsch1_harq
->
codeword
=
0
;
}
else
if
(
TB0_active
&&
(
TB1_active
==
0
))
{
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0
->
active
[
subframe
]
=
1
;
#else
dlsch0
->
active
=
1
;
...
...
@@ -2058,7 +2041,7 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t
#endif
}
else
if
((
TB0_active
==
0
)
&&
TB1_active
)
{
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch1
->
active
[
subframe
]
=
1
;
#else
dlsch1
->
active
=
1
;
...
...
@@ -2330,7 +2313,7 @@ void fill_mdci_and_dlsch(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,mDCI_ALLOC_t *d
case
10
:
// Format 6-1A
dci_alloc
->
format
=
format6_1A
;
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0
->
active
[
subframe
]
=
1
;
#else
dlsch0
->
active
=
1
;
...
...
@@ -2390,7 +2373,7 @@ void fill_mdci_and_dlsch(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,mDCI_ALLOC_t *d
break
;
case
11
:
// Format 6-1B
dci_alloc
->
format
=
format6_1B
;
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0
->
active
[
subframe
]
=
1
;
#else
dlsch0
->
active
=
1
;
...
...
@@ -2437,7 +2420,7 @@ void fill_mdci_and_dlsch(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,mDCI_ALLOC_t *d
}
case
12
:
// Format 6-2
dci_alloc
->
format
=
format6_2
;
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0
->
active
[
subframe
]
=
1
;
#else
dlsch0
->
active
=
1
;
...
...
@@ -2525,7 +2508,7 @@ void fill_mdci_and_dlsch(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,mDCI_ALLOC_t *d
dlsch0_harq
->
dl_power_off
=
1
;
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0
->
active
[
subframe
]
=
1
;
#else
dlsch0
->
active
=
1
;
...
...
@@ -2813,15 +2796,11 @@ void fill_ulsch(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_ulsch_pdu *ulsch_pdu
ulsch
->
harq_processes
[
harq_pid
]
->
Or1
=
0
;
ulsch
->
harq_processes
[
harq_pid
]
->
Or2
=
0
;
}
#ifndef UE_EXPANSION
else
ulsch
->
harq_processes
[
harq_pid
]
->
round
++
;
#else
else
{
ulsch
->
harq_processes
[
harq_pid
]
->
round
++
;
ulsch
->
harq_processes
[
harq_pid
]
->
TBS
=
ulsch_pdu
->
ulsch_pdu_rel8
.
size
<<
3
;
ulsch
->
harq_processes
[
harq_pid
]
->
Msc_initial
=
12
*
ulsch_pdu
->
ulsch_pdu_rel8
.
number_of_resource_blocks
;
}
#endif
ulsch
->
rnti
=
ulsch_pdu
->
ulsch_pdu_rel8
.
rnti
;
LOG_D
(
PHY
,
"Filling ULSCH %x (UE_id %d) (new_ulsch %d) for Frame %d, Subframe %d : harq_pid %d, status %d, handled %d, first_rb %d, nb_rb %d, rvidx %d, Qm %d, TBS %d, round %d
\n
"
,
ulsch
->
rnti
,
...
...
openair1/PHY/LTE_TRANSPORT/defs.h
View file @
de1996ec
...
...
@@ -184,7 +184,7 @@ typedef struct {
uint8_t
first_layer
;
/// codeword this transport block is mapped to
uint8_t
codeword
;
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
#ifdef Rel14
/// indicator that this DLSCH corresponds to SIB1-BR, needed for c_init for scrambling
uint8_t
sib1_br_flag
;
...
...
@@ -279,7 +279,7 @@ typedef struct {
/// Allocated RNTI (0 means DLSCH_t is not currently used)
uint16_t
rnti
;
/// Active flag for baseband transmitter processing
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
uint8_t
active
[
10
];
#else
uint8_t
active
;
...
...
@@ -314,7 +314,7 @@ typedef struct {
int16_t
sqrt_rho_a
;
/// amplitude of PDSCH (compared to RS) in symbols containing pilots
int16_t
sqrt_rho_b
;
#ifndef
UE_EXPANSION
#ifndef
PHY_TX_THREAD
#ifdef Rel14
/// indicator that this DLSCH corresponds to SIB1-BR, needed for c_init for scrambling
uint8_t
sib1_br_flag
;
...
...
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
View file @
de1996ec
...
...
@@ -246,7 +246,7 @@ void clean_eNb_dlsch(LTE_eNB_DLSCH_t *dlsch)
if
(
dlsch
)
{
Mdlharq
=
dlsch
->
Mdlharq
;
dlsch
->
rnti
=
0
;
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
for
(
i
=
0
;
i
<
10
;
i
++
)
dlsch
->
active
[
i
]
=
0
;
#else
...
...
openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c
View file @
de1996ec
...
...
@@ -92,19 +92,19 @@ void dlsch_scrambling(LTE_DL_FRAME_PARMS *frame_parms,
uint8_t
Nacc
=
4
;
uint16_t
j0
,
j
,
idelta
;
uint16_t
i
=
(
Ns
>>
1
)
+
(
10
*
frame
);
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
uint16_t
i0
=
dlsch
->
harq_processes
[
harq_pid
]
->
i0
;
#else
uint16_t
i0
=
dlsch
->
i0
;
#endif
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
if
(
dlsch
->
harq_processes
[
harq_pid
]
->
sib1_br_flag
==
1
)
Nacc
=
1
;
#else
if
(
dlsch
->
sib1_br_flag
==
1
)
Nacc
=
1
;
#endif
else
if
(
dlsch
->
rnti
==
0xFFFF
||
dlsch
->
rnti
==
0xFFFE
)
Nacc
=
(
frame_parms
->
frame_type
==
TDD
)
?
10
:
4
;
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
// Note: above SC-RNTI will also have to be added when/if implemented
else
if
(
dlsch
->
harq_processes
[
harq_pid
]
->
CEmode
==
CEmodeA
)
Nacc
=
1
;
else
if
(
dlsch
->
harq_processes
[
harq_pid
]
->
CEmode
==
CEmodeB
)
Nacc
=
(
frame_parms
->
frame_type
==
TDD
)
?
10
:
4
;
...
...
@@ -125,7 +125,7 @@ void dlsch_scrambling(LTE_DL_FRAME_PARMS *frame_parms,
// x1 is set in lte_gold_generic
if
(
mbsfn_flag
==
0
)
{
#ifdef Rel14
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
if
(
dlsch
->
harq_processes
[
harq_pid
]
->
i0
!=
0xFFFF
)
{
#else
if
(
dlsch
->
i0
!=
0xFFFF
)
{
...
...
openair1/PHY/LTE_TRANSPORT/proto.h
View file @
de1996ec
...
...
@@ -2260,18 +2260,10 @@ uint8_t get_prach_prb_offset(LTE_DL_FRAME_PARMS *frame_parms,
uint8_t
ul_subframe2pdcch_alloc_subframe
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint8_t
n
);
#ifndef UE_EXPANSION
int8_t
find_dlsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
);
int8_t
find_ulsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
);
int8_t
find_uci
(
uint16_t
rnti
,
int
frame
,
int
subframe
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
);
#else
int16_t
find_dlsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
);
int16_t
find_ulsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
);
int16_t
find_uci
(
uint16_t
rnti
,
int
frame
,
int
subframe
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
);
#endif
/**@}*/
#endif
openair1/PHY/LTE_TRANSPORT/uci_tools.c
View file @
de1996ec
...
...
@@ -788,18 +788,10 @@ void print_CQI(void *o,UCI_format_t uci_format,unsigned char eNB_id,int N_RB_DL)
}
#ifndef UE_EXPANSION
int8_t
find_uci
(
uint16_t
rnti
,
int
frame
,
int
subframe
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
)
{
#else
int16_t
find_uci
(
uint16_t
rnti
,
int
frame
,
int
subframe
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
)
{
#endif
#ifndef UE_EXPANSION
uint8_t
i
;
int8_t
first_free_index
=-
1
;
#else
uint16_t
i
;
int16_t
first_free_index
=-
1
;
#endif
AssertFatal
(
eNB
!=
NULL
,
"eNB is null
\n
"
);
for
(
i
=
0
;
i
<
NUMBER_OF_UE_MAX
;
i
++
)
{
if
((
eNB
->
uci_vars
[
i
].
active
>
0
)
&&
...
...
openair1/PHY/defs.h
View file @
de1996ec
...
...
@@ -422,7 +422,7 @@ typedef struct RU_proc_t_s {
int
num_slaves
;
/// array of pointers to slaves
struct
RU_proc_t_s
**
slave_proc
;
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
/// pthread structure for PRACH thread
pthread_t
pthread_phy_tx
;
pthread_mutex_t
mutex_phy_tx
;
...
...
@@ -442,7 +442,7 @@ typedef struct RU_proc_t_s {
/// \internal This variable is protected by \ref mutex_rf_tx.
int
instance_cnt_rf_tx
;
#endif
#if defined(
UE_EXPANSION) || defined(UE_EXPANSION_SIM2
)
#if defined(
PRE_SCD_THREAD
)
pthread_t
pthread_pre_scd
;
/// condition variable for time processing thread
pthread_cond_t
cond_pre_scd
;
...
...
openair1/SCHED/defs.h
View file @
de1996ec
...
...
@@ -511,11 +511,7 @@ LTE_DL_FRAME_PARMS *get_lte_frame_parms(module_id_t Mod_id, uint8_t CC_id);
MU_MIMO_mode
*
get_mu_mimo_mode
(
module_id_t
Mod_id
,
uint8_t
CC_id
,
rnti_t
rnti
);
int16_t
get_hundred_times_delta_IF
(
PHY_VARS_UE
*
phy_vars_ue
,
uint8_t
eNB_id
,
uint8_t
harq_pid
);
#ifndef UE_EXPANSION
int16_t
get_hundred_times_delta_IF_eNB
(
PHY_VARS_eNB
*
phy_vars_eNB
,
uint8_t
UE_id
,
uint8_t
harq_pid
,
uint8_t
bw_factor
);
#else
int16_t
get_hundred_times_delta_IF_eNB
(
PHY_VARS_eNB
*
phy_vars_eNB
,
uint16_t
UE_id
,
uint8_t
harq_pid
,
uint8_t
bw_factor
);
#endif
int16_t
get_hundred_times_delta_IF_mac
(
module_id_t
module_idP
,
uint8_t
CC_id
,
rnti_t
rnti
,
uint8_t
harq_pid
);
int16_t
get_target_pusch_rx_power
(
module_id_t
module_idP
,
uint8_t
CC_id
);
...
...
openair1/SCHED/fapi_l1.c
View file @
de1996ec
...
...
@@ -191,7 +191,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr
// compute DL power control parameters
eNB
->
pdsch_config_dedicated
[
UE_id
].
p_a
=
rel8
->
pa
;
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
if
(
dlsch0
->
active
[
proc
->
subframe_tx
]){
# else
if
(
dlsch0
->
active
){
...
...
@@ -199,7 +199,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr
computeRhoA_eNB
(
&
eNB
->
pdsch_config_dedicated
[
UE_id
],
dlsch0
,
dlsch0_harq
->
dl_power_off
,
eNB
->
frame_parms
.
nb_antenna_ports_eNB
);
computeRhoB_eNB
(
&
eNB
->
pdsch_config_dedicated
[
UE_id
],
&
(
eNB
->
frame_parms
.
pdsch_config_common
),
eNB
->
frame_parms
.
nb_antenna_ports_eNB
,
dlsch0
,
dlsch0_harq
->
dl_power_off
);
}
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
if
(
dlsch1
->
active
[
proc
->
subframe_tx
]){
#else
if
(
dlsch1
->
active
){
...
...
@@ -231,7 +231,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr
}
#ifdef Rel14
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0_harq
->
sib1_br_flag
=
0
;
#else
dlsch0
->
sib1_br_flag
=
0
;
...
...
@@ -243,7 +243,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr
dlsch0
->
Mdlharq
=
4
;
dlsch0
->
Nsoft
=
25344
;
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
if
(
rel13
->
pdsch_payload_type
==
0
)
dlsch0_harq
->
sib1_br_flag
=
1
;
#else
if
(
rel13
->
pdsch_payload_type
==
0
)
dlsch0
->
sib1_br_flag
=
1
;
...
...
@@ -274,7 +274,7 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr
dlsch0_harq
->
rb_alloc
[
3
]
=
localRIV2alloc_LUT100_3
[
rel8
->
resource_block_coding
];
}
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0
->
active
[
proc
->
subframe_tx
]
=
1
;
#else
dlsch0
->
active
=
1
;
...
...
@@ -294,21 +294,21 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr
dlsch0_harq
->
pdsch_start
=
rel10
->
pdsch_start
;
}
else
{
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0_harq
->
i0
=
0xFFFF
;
#else
dlsch0
->
i0
=
0xFFFF
;
#endif
}
#endif
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0_harq
->
i0
=
rel13
->
initial_transmission_sf_io
;
#else
dlsch0
->
i0
=
rel13
->
initial_transmission_sf_io
;
#endif
LOG_D
(
PHY
,
"dlsch->i0:%04x dlsch0_harq[pdsch_start:%d nb_rb:%d vrb_type:%d rvidx:%d Nl:%d mimo_mode:%d dl_power_off:%d round:%d status:%d TBS:%d Qm:%d codeword:%d rb_alloc:%d] rel8[length:%d]
\n
"
,
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch0_harq
->
i0
,
#else
dlsch0
->
i0
,
...
...
@@ -566,11 +566,7 @@ void handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
uint16_t
frame
,
uint8_t
subframe
,
uint8_t
srs_present
)
{
nfapi_ul_config_ulsch_pdu_rel8_t
*
rel8
=
&
ul_config_pdu
->
ulsch_pdu
.
ulsch_pdu_rel8
;
#ifndef UE_EXPANSION
int8_t
UE_id
;
#else
int16_t
UE_id
;
#endif
// check if we have received a dci for this ue and ulsch descriptor is configured
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
de1996ec
...
...
@@ -397,7 +397,7 @@ void pdsch_procedures(PHY_VARS_eNB *eNB,
stop_meas
(
&
eNB
->
dlsch_modulation_stats
);
}
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
dlsch
->
active
[
subframe
]
=
0
;
#else
dlsch
->
active
=
0
;
...
...
@@ -420,11 +420,7 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
int
subframe
=
proc
->
subframe_tx
;
uint32_t
i
,
aa
;
uint8_t
harq_pid
;
#ifndef UE_EXPANSION
int8_t
UE_id
=
0
;
#else
int16_t
UE_id
=
0
;
#endif
uint8_t
num_pdcch_symbols
=
0
;
uint8_t
num_dci
=
0
;
uint8_t
ul_subframe
;
...
...
@@ -544,7 +540,7 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
if
((
dlsch0
)
&&
(
dlsch0
->
rnti
>
0
)
&&
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
(
dlsch0
->
active
[
subframe
]
==
1
))
{
#else
(
dlsch0
->
active
==
1
))
{
...
...
@@ -576,7 +572,7 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
else
if
((
dlsch0
)
&&
(
dlsch0
->
rnti
>
0
)
&&
#ifdef
UE_EXPANSION
#ifdef
PHY_TX_THREAD
(
dlsch0
->
active
[
subframe
]
==
0
))
{
#else
(
dlsch0
->
active
==
0
))
{
...
...
openair1/SCHED/pusch_pc.c
View file @
de1996ec
...
...
@@ -38,11 +38,7 @@
// This is the formula from Section 5.1.1.1 in 36.213 100*10*log10((2^(MPR*Ks)-1)), where MPR is in the range [0,6] and Ks=1.25
int16_t
hundred_times_delta_TF
[
100
]
=
{
-
32768
,
-
1268
,
-
956
,
-
768
,
-
631
,
-
523
,
-
431
,
-
352
,
-
282
,
-
219
,
-
161
,
-
107
,
-
57
,
-
9
,
36
,
79
,
120
,
159
,
197
,
234
,
269
,
304
,
337
,
370
,
402
,
434
,
465
,
495
,
525
,
555
,
583
,
612
,
640
,
668
,
696
,
723
,
750
,
777
,
803
,
829
,
856
,
881
,
907
,
933
,
958
,
983
,
1008
,
1033
,
1058
,
1083
,
1108
,
1132
,
1157
,
1181
,
1205
,
1229
,
1254
,
1278
,
1302
,
1325
,
1349
,
1373
,
1397
,
1421
,
1444
,
1468
,
1491
,
1515
,
1538
,
1562
,
1585
,
1609
,
1632
,
1655
,
1679
,
1702
,
1725
,
1748
,
1772
,
1795
,
1818
,
1841
,
1864
,
1887
,
1910
,
1933
,
1956
,
1980
,
2003
,
2026
,
2049
,
2072
,
2095
,
2118
,
2141
,
2164
,
2186
,
2209
,
2232
,
2255
};
uint16_t
hundred_times_log10_NPRB
[
100
]
=
{
0
,
301
,
477
,
602
,
698
,
778
,
845
,
903
,
954
,
1000
,
1041
,
1079
,
1113
,
1146
,
1176
,
1204
,
1230
,
1255
,
1278
,
1301
,
1322
,
1342
,
1361
,
1380
,
1397
,
1414
,
1431
,
1447
,
1462
,
1477
,
1491
,
1505
,
1518
,
1531
,
1544
,
1556
,
1568
,
1579
,
1591
,
1602
,
1612
,
1623
,
1633
,
1643
,
1653
,
1662
,
1672
,
1681
,
1690
,
1698
,
1707
,
1716
,
1724
,
1732
,
1740
,
1748
,
1755
,
1763
,
1770
,
1778
,
1785
,
1792
,
1799
,
1806
,
1812
,
1819
,
1826
,
1832
,
1838
,
1845
,
1851
,
1857
,
1863
,
1869
,
1875
,
1880
,
1886
,
1892
,
1897
,
1903
,
1908
,
1913
,
1919
,
1924
,
1929
,
1934
,
1939
,
1944
,
1949
,
1954
,
1959
,
1963
,
1968
,
1973
,
1977
,
1982
,
1986
,
1991
,
1995
,
2000
};
#ifndef UE_EXPANSION
int16_t
get_hundred_times_delta_IF_eNB
(
PHY_VARS_eNB
*
eNB
,
uint8_t
UE_id
,
uint8_t
harq_pid
,
uint8_t
bw_factor
)
#else
int16_t
get_hundred_times_delta_IF_eNB
(
PHY_VARS_eNB
*
eNB
,
uint16_t
UE_id
,
uint8_t
harq_pid
,
uint8_t
bw_factor
)
#endif
{
uint32_t
Nre
,
sumKr
,
MPR_x100
,
Kr
,
r
;
...
...
@@ -93,11 +89,7 @@ int16_t get_hundred_times_delta_IF_eNB(PHY_VARS_eNB *eNB,uint16_t UE_id,uint8_t
int16_t
get_hundred_times_delta_IF_mac
(
module_id_t
module_idP
,
uint8_t
CC_id
,
rnti_t
rnti
,
uint8_t
harq_pid
)
{
#ifndef UE_EXPANSION
int8_t
UE_id
;
#else
int16_t
UE_id
;
#endif
if
((
RC
.
eNB
==
NULL
)
||
(
module_idP
>
RC
.
nb_inst
)
||
(
CC_id
>
RC
.
nb_CC
[
module_idP
]))
{
LOG_E
(
PHY
,
"get_UE_stats: No eNB found (or not allocated) for Mod_id %d,CC_id %d
\n
"
,
module_idP
,
CC_id
);
return
-
1
;
...
...
openair2/COMMON/platform_types.h
View file @
de1996ec
...
...
@@ -68,11 +68,7 @@ typedef int32_t sdu_size_t;
typedef
uint32_t
frame_t
;
typedef
int32_t
sframe_t
;
typedef
uint32_t
sub_frame_t
;
#ifndef UE_EXPANSION
typedef
uint8_t
module_id_t
;
#else
typedef
uint16_t
module_id_t
;
#endif
typedef
uint8_t
eNB_index_t
;
typedef
uint16_t
ue_id_t
;
typedef
int16_t
smodule_id_t
;
...
...
openair2/LAYER2/MAC/eNB_scheduler.c
View file @
de1996ec
...
...
@@ -768,7 +768,7 @@ eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP,
}
#if (!defined(
UE_EXPANSION_SIM2)) &&(!defined(UE_EXPANSION
))
#if (!defined(
PRE_SCD_THREAD
))
PROTOCOL_CTXT_SET_BY_MODULE_ID
(
&
ctxt
,
module_idP
,
ENB_FLAG_YES
,
NOT_A_RNTI
,
frameP
,
subframeP
,
module_idP
);
...
...
@@ -821,7 +821,7 @@ eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP,
for
(
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
){
if
(
cc
[
CC_id
].
tdd_Config
==
NULL
||
!
(
is_UL_sf
(
&
cc
[
CC_id
],
subframeP
)))
allocate_CCEs
(
module_idP
,
CC_id
,
frameP
,
subframeP
,
2
);
}
}
stop_meas
(
&
RC
.
mac
[
module_idP
]
->
eNB_scheduler
);
...
...
openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
View file @
de1996ec
...
...
@@ -413,7 +413,7 @@ set_ul_DAI(int module_idP, int UE_idP, int CC_idP, int frameP,
}