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
lizhongxiao
OpenXG-RAN
Commits
c1490bb8
Commit
c1490bb8
authored
Oct 03, 2016
by
Rohit Gupta
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into enhancement-10-harmony
parents
1db923d6
7203a521
Changes
18
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
183 additions
and
137 deletions
+183
-137
cmake_targets/autotests/test_case_list.xml
cmake_targets/autotests/test_case_list.xml
+41
-46
cmake_targets/tools/build_helper
cmake_targets/tools/build_helper
+2
-2
openair1/SIMULATION/LTE_PHY/mbmssim.c
openair1/SIMULATION/LTE_PHY/mbmssim.c
+59
-59
openair2/LAYER2/MAC/defs.h
openair2/LAYER2/MAC/defs.h
+6
-2
openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c
openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c
+1
-1
targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c
targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c
+33
-8
targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c
targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c
+20
-0
targets/DOCS/oai_L1_L2_procedures.pdf
targets/DOCS/oai_L1_L2_procedures.pdf
+0
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpb210.conf
...S/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpb210.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpx310.conf
...S/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpx310.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpb210.conf
...TS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpb210.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpx310.conf
...TS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpx310.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf
...PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf
...PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.usrpb210.conf
...ECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.usrpb210.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.usrpb210.conf
...TS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.usrpb210.conf
+2
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf
...PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf
+3
-2
targets/RT/USER/lte-enb.c
targets/RT/USER/lte-enb.c
+9
-9
No files found.
cmake_targets/autotests/test_case_list.xml
View file @
c1490bb8
This diff is collapsed.
Click to expand it.
cmake_targets/tools/build_helper
View file @
c1490bb8
...
...
@@ -233,7 +233,7 @@ check_install_usrp_uhd_driver(){
$SUDO add-apt-repository ppa:ettusresearch/uhd -y
$SUDO apt-get update
$SUDO apt-get -y install python python-tk libboost-all-dev libusb-1.0-0-dev
$SUDO apt-get -y install libuhd-dev libuhd003
$SUDO apt-get -y install libuhd-dev libuhd003
uhd-host
}
install_usrp_uhd_driver() {
...
...
@@ -291,7 +291,7 @@ check_install_additional_tools (){
$SUDO pip install paramiko
$SUDO pip install pyroute2
$SUDO rm -fr /opt/ssh
$SUDO GIT_SSL_NO_VERIFY=true git clone https://gi
st.github.com/2190472
.git /opt/ssh
$SUDO GIT_SSL_NO_VERIFY=true git clone https://gi
tlab.eurecom.fr/oai/ssh
.git /opt/ssh
log_netiface=$OPENAIR_DIR/cmake_targets/log/netiface_install_log.txt
echo_info "Installing Netinterfaces package. The logfile for installation is in $log_netiface"
...
...
openair1/SIMULATION/LTE_PHY/mbmssim.c
View file @
c1490bb8
This diff is collapsed.
Click to expand it.
openair2/LAYER2/MAC/defs.h
View file @
c1490bb8
...
...
@@ -621,7 +621,9 @@ typedef struct {
uint8_t
DLSCH_dci_size_bits
;
/// DCI buffer for DLSCH
uint8_t
DLSCH_DCI
[
8
][(
MAX_DCI_SIZE_BITS
>>
3
)
+
1
];
/* rounded to 32 bits unit (actual value should be 8 due to the logic
* of the function generate_dci0) */
uint8_t
DLSCH_DCI
[
8
][(((
MAX_DCI_SIZE_BITS
)
+
31
)
>>
5
)
*
4
];
/// Number of Allocated RBs for DL after scheduling (prior to frequency allocation)
uint16_t
nb_rb
[
8
];
// num_max_harq
...
...
@@ -645,7 +647,9 @@ typedef struct {
uint8_t
assigned_mcs_ul
;
/// DCI buffer for ULSCH
uint8_t
ULSCH_DCI
[
8
][(
MAX_DCI_SIZE_BITS
>>
3
)
+
1
];
/* rounded to 32 bits unit (actual value should be 8 due to the logic
* of the function generate_dci0) */
uint8_t
ULSCH_DCI
[
8
][(((
MAX_DCI_SIZE_BITS
)
+
31
)
>>
5
)
*
4
];
/// DL DAI
uint8_t
DAI
;
...
...
openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c
View file @
c1490bb8
...
...
@@ -577,7 +577,7 @@ nwGtpv1uProcessGpdu( NwGtpv1uStackT *thiz,
" G-PDU ltid %u size %u"
,
tunnelEndPointKey
.
teid
,
gpduLen
);
GTPU_
ERROR
(
"Received T-PDU over non-existent tunnel end-point '%x' from "
NW_IPV4_ADDR
"
\n
"
,
GTPU_
DEBUG
(
"Received T-PDU over non-existent tunnel end-point '%x' from "
NW_IPV4_ADDR
"
\n
"
,
ntohl
(
msgHdr
->
teid
),
NW_IPV4_ADDR_FORMAT
((
peerIp
)));
}
...
...
targets/ARCH/EXMIMO/DRIVER/eurecom/fileops.c
View file @
c1490bb8
...
...
@@ -179,6 +179,8 @@ int openair_device_ioctl(struct inode *inode,struct file *filp, unsigned int cmd
int
tmp
;
unsigned
int
user_args
[
4
];
static
unsigned
int
update_firmware_command
;
static
unsigned
int
update_firmware_address
;
static
unsigned
int
update_firmware_length
;
...
...
@@ -328,15 +330,38 @@ int openair_device_ioctl(struct inode *inode,struct file *filp, unsigned int cmd
acknowledge with no limit */
#define MAX_IOCTL_ACK_CNT 500
update_firmware_command
=
*
((
unsigned
int
*
)
arg
);
/* 'arg' is an unsigned long and is supposed to be big enough
* to hold an address - this hypothesis is okay for i386 and x86_64
* maybe not somewhere else
* this will probably fail with older kernels
* (works with 3.17 on x86_64)
*/
tmp
=
copy_from_user
(
&
user_args
,
(
void
*
)
arg
,
4
*
sizeof
(
unsigned
int
));
if
(
tmp
)
{
printk
(
"[openair][IOCTL] UPDATE_FIRMWARE: error copying parameters to kernel-space (%d bytes uncopied).
\n
"
,
tmp
);
return
-
1
;
}
update_firmware_command
=
user_args
[
0
];
switch
(
update_firmware_command
)
{
case
UPDATE_FIRMWARE_TRANSFER_BLOCK
:
update_firmware_address
=
((
unsigned
int
*
)
arg
)[
1
];
update_firmware_length
=
((
unsigned
int
*
)
arg
)[
2
];
update_firmware_address
=
user_args
[
1
];
update_firmware_length
=
user_args
[
2
];
/* This is totally wrong on x86_64: a pointer is 64 bits and
* unsigned int is 32 bits. The userspace program has to ensure
* that its buffer address fits into 32 bits.
* If it proves a too strong requirement, we may change things
* in the future.
* The compiler emits a warning here. Do not remove this warning!
* This is to clearly remember this problem.
* If you require the compilation to work with zero warning,
* consider this one as an exception and find a proper workaround.
*/
update_firmware_ubuffer
=
user_args
[
3
];
update_firmware_ubuffer
=
(
unsigned
int
*
)((
unsigned
int
*
)
arg
)[
3
];
update_firmware_kbuffer
=
(
unsigned
int
*
)
kmalloc
(
update_firmware_length
*
4
/* 4 because kmalloc expects bytes */
,
GFP_KERNEL
);
...
...
@@ -390,8 +415,8 @@ int openair_device_ioctl(struct inode *inode,struct file *filp, unsigned int cmd
case
UPDATE_FIRMWARE_CLEAR_BSS
:
update_firmware_bss_address
=
((
unsigned
int
*
)
arg
)
[
1
];
update_firmware_bss_size
=
((
unsigned
int
*
)
arg
)
[
2
];
update_firmware_bss_address
=
user_args
[
1
];
update_firmware_bss_size
=
user_args
[
2
];
sparc_tmp_0
=
update_firmware_bss_address
;
sparc_tmp_1
=
update_firmware_bss_size
;
...
...
@@ -411,8 +436,8 @@ int openair_device_ioctl(struct inode *inode,struct file *filp, unsigned int cmd
case
UPDATE_FIRMWARE_START_EXECUTION
:
update_firmware_start_address
=
((
unsigned
int
*
)
arg
)
[
1
];
update_firmware_stack_pointer
=
((
unsigned
int
*
)
arg
)
[
2
];
update_firmware_start_address
=
user_args
[
1
];
update_firmware_stack_pointer
=
user_args
[
2
];
sparc_tmp_0
=
update_firmware_start_address
;
sparc_tmp_1
=
update_firmware_stack_pointer
;
...
...
targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/updatefw.c
View file @
c1490bb8
...
...
@@ -41,6 +41,7 @@
#include <getopt.h>
#include <string.h>
#include <unistd.h>
#include <stdint.h>
#include <sys/ioctl.h>
#include "openair_device.h"
...
...
@@ -239,6 +240,18 @@ void find_and_transfer_section(char* section_name, unsigned int verboselevel) {
/* Dynamically allocate a chunk of memory to store the section into. */
section_content
=
(
char
*
)
malloc
(
elf_Shdr
.
sh_size
);
/* Fail if the address returned by malloc does not fit in 32 bits.
* The kernel driver gets this address as 32 bits and uses it to copy
* from userspace. If the address does not fit into 32 bits the kernel
* will copy garbage or fail to copy completely.
* To be reworked if things do not work on some setups.
*/
if
(
sizeof
(
char
*
)
>
4
&&
(((
uintptr_t
)
section_content
)
>>
32
))
{
fprintf
(
stderr
,
"FATAL ERROR: an internal serious problem has been encountered.
\n
"
);
fprintf
(
stderr
,
"Contact the authors so as to solve this issue.
\n
"
);
exit
(
-
1
);
}
if
(
!
section_content
)
{
fprintf
(
stderr
,
"Error: could not dynamically allocate %d bytes for section %s.
\n
"
,
elf_Shdr
.
sh_size
,
SecNameStnTable
+
elf_Shdr
.
sh_name
);
...
...
@@ -281,6 +294,13 @@ void find_and_transfer_section(char* section_name, unsigned int verboselevel) {
ioctl_params
[
0
]
=
UPDATE_FIRMWARE_TRANSFER_BLOCK
;
ioctl_params
[
1
]
=
elf_Shdr
.
sh_addr
;
ioctl_params
[
2
]
=
elf_Shdr
.
sh_size
/
4
;
/* This is wrong on x86_64 because a pointer is 64 bits and
* an unsigned int is only 32 bits.
* The compiler emits a warning, but the test
* above on the value of section_content makes it work
* (hopefully).
* To be changed if things do not work.
*/
ioctl_params
[
3
]
=
(
unsigned
int
)((
unsigned
int
*
)
section_content
);
//invert4(ioctl_params[1]);
//invert4(ioctl_params[2]);
...
...
targets/DOCS/oai_L1_L2_procedures.pdf
View file @
c1490bb8
No preview for this file type
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpb210.conf
View file @
c1490bb8
...
...
@@ -50,7 +50,7 @@ eNBs =
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
3
3
;
pdsch_referenceSignalPower
= -
3
0
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpx310.conf
View file @
c1490bb8
...
...
@@ -49,7 +49,7 @@ eNBs =
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
2
4
;
pdsch_referenceSignalPower
= -
2
3
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpb210.conf
View file @
c1490bb8
...
...
@@ -50,7 +50,7 @@ eNBs =
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
30
;
pdsch_referenceSignalPower
= -
27
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpx310.conf
View file @
c1490bb8
...
...
@@ -49,7 +49,7 @@ eNBs =
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
21
;
pdsch_referenceSignalPower
= -
19
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf
View file @
c1490bb8
...
...
@@ -50,7 +50,7 @@ eNBs =
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
2
7
;
pdsch_referenceSignalPower
= -
2
4
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf
View file @
c1490bb8
...
...
@@ -49,7 +49,7 @@ eNBs =
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
1
8
;
pdsch_referenceSignalPower
= -
1
6
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.usrpb210.conf
View file @
c1490bb8
...
...
@@ -49,7 +49,7 @@ eNBs =
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
2
9
;
pdsch_referenceSignalPower
= -
2
4
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.usrpb210.conf
View file @
c1490bb8
...
...
@@ -38,6 +38,7 @@ eNBs =
Nid_cell_mbsfn
=
0
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
nb_antenna_ports
=
1
;
tx_gain
=
90
;
rx_gain
=
125
;
prach_root
=
0
;
...
...
@@ -100,7 +101,7 @@ eNBs =
ue_TimersAndConstants_t311
=
10000
;
ue_TimersAndConstants_n310
=
20
;
ue_TimersAndConstants_n311
=
1
;
ue_TransmissionMode
=
1
;
}
);
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf
View file @
c1490bb8
...
...
@@ -38,6 +38,7 @@ eNBs =
Nid_cell_mbsfn
=
0
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
nb_antenna_ports
=
1
;
tx_gain
=
90
;
rx_gain
=
125
;
prach_root
=
0
;
...
...
@@ -100,7 +101,7 @@ eNBs =
ue_TimersAndConstants_t311
=
10000
;
ue_TimersAndConstants_n310
=
20
;
ue_TimersAndConstants_n311
=
1
;
ue_TransmissionMode
=
1
;
}
);
...
...
@@ -161,7 +162,7 @@ eNBs =
local_port
=
50000
;
#for raw option local port must be the same to remote
remote_port
=
50000
;
rrh_gw_active
=
"yes"
;
tr_preference
=
"raw_if4"
;
tr_preference
=
"raw_if4
p5
"
;
rf_preference
=
"usrp_b200"
;
iq_txshift
=
4
;
tx_sample_advance
=
80
;
...
...
targets/RT/USER/lte-enb.c
View file @
c1490bb8
...
...
@@ -1614,7 +1614,7 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
break
;
case
NGFI_RRU_IF4p5
:
eNB
->
do_prach
=
do_prach
;
eNB
->
fep
=
(
single_thread_flag
==
1
)
?
eNB_fep_full_2thread
:
eNB_fep_full
;
eNB
->
fep
=
eNB_fep_full
;
//
(single_thread_flag==1) ? eNB_fep_full_2thread : eNB_fep_full;
eNB
->
td
=
NULL
;
eNB
->
te
=
NULL
;
eNB
->
proc_uespec_rx
=
NULL
;
...
...
@@ -1643,7 +1643,7 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
break
;
case
eNodeB_3GPP
:
eNB
->
do_prach
=
do_prach
;
eNB
->
fep
=
(
single_thread_flag
==
1
)
?
eNB_fep_full_2thread
:
eNB_fep_full
;
eNB
->
fep
=
eNB_fep_full
;
//
(single_thread_flag==1) ? eNB_fep_full_2thread : eNB_fep_full;
eNB
->
td
=
ulsch_decoding_data
;
//(single_thread_flag==1) ? ulsch_decoding_data_2thread : ulsch_decoding_data;
eNB
->
te
=
dlsch_encoding
;
//(single_thread_flag==1) ? dlsch_encoding_2threads : dlsch_encoding;
eNB
->
proc_uespec_rx
=
phy_procedures_eNB_uespec_RX
;
...
...
@@ -1663,9 +1663,9 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
break
;
case
eNodeB_3GPP_BBU
:
eNB
->
do_prach
=
do_prach
;
eNB
->
fep
=
(
single_thread_flag
==
1
)
?
eNB_fep_full_2thread
:
eNB_fep_full
;
eNB
->
td
=
(
single_thread_flag
==
1
)
?
ulsch_decoding_data_2thread
:
ulsch_decoding_data
;
eNB
->
te
=
(
single_thread_flag
==
1
)
?
dlsch_encoding_2threads
:
dlsch_encoding
;
eNB
->
fep
=
eNB_fep_full
;
//
(single_thread_flag==1) ? eNB_fep_full_2thread : eNB_fep_full;
eNB
->
td
=
ulsch_decoding_data
;
//
(single_thread_flag==1) ? ulsch_decoding_data_2thread : ulsch_decoding_data;
eNB
->
te
=
dlsch_encoding
;
//
(single_thread_flag==1) ? dlsch_encoding_2threads : dlsch_encoding;
eNB
->
proc_uespec_rx
=
phy_procedures_eNB_uespec_RX
;
eNB
->
proc_tx
=
proc_tx_full
;
eNB
->
tx_fh
=
tx_fh_if5
;
...
...
@@ -1688,8 +1688,8 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
case
NGFI_RCC_IF4p5
:
eNB
->
do_prach
=
do_prach
;
eNB
->
fep
=
NULL
;
eNB
->
td
=
(
single_thread_flag
==
1
)
?
ulsch_decoding_data_2thread
:
ulsch_decoding_data
;
eNB
->
te
=
(
single_thread_flag
==
1
)
?
dlsch_encoding_2threads
:
dlsch_encoding
;
eNB
->
td
=
ulsch_decoding_data
;
//
(single_thread_flag==1) ? ulsch_decoding_data_2thread : ulsch_decoding_data;
eNB
->
te
=
dlsch_encoding
;
//
(single_thread_flag==1) ? dlsch_encoding_2threads : dlsch_encoding;
eNB
->
proc_uespec_rx
=
phy_procedures_eNB_uespec_RX
;
eNB
->
proc_tx
=
proc_tx_high
;
eNB
->
tx_fh
=
tx_fh_if4p5
;
...
...
@@ -1712,8 +1712,8 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
eNB
->
do_prach
=
do_prach
;
eNB
->
fep
=
NULL
;
eNB
->
td
=
(
single_thread_flag
==
1
)
?
ulsch_decoding_data_2thread
:
ulsch_decoding_data
;
eNB
->
te
=
(
single_thread_flag
==
1
)
?
dlsch_encoding_2threads
:
dlsch_encoding
;
eNB
->
td
=
ulsch_decoding_data
;
//
(single_thread_flag==1) ? ulsch_decoding_data_2thread : ulsch_decoding_data;
eNB
->
te
=
dlsch_encoding
;
//
(single_thread_flag==1) ? dlsch_encoding_2threads : dlsch_encoding;
eNB
->
proc_uespec_rx
=
phy_procedures_eNB_uespec_RX
;
eNB
->
proc_tx
=
proc_tx_high
;
eNB
->
tx_fh
=
tx_fh_if4p5
;
...
...
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