Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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 UE
Commits
bb43c067
Commit
bb43c067
authored
Apr 12, 2018
by
Haruki NAOI
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'remotes/origin/sp3_tdd_config1' into sp3_master
parents
affe9452
d49b4914
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
23 additions
and
11 deletions
+23
-11
openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
+12
-0
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+1
-1
openair2/LAYER2/MAC/defs.h
openair2/LAYER2/MAC/defs.h
+1
-1
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+8
-8
targets/RT/USER/lte-ru.c
targets/RT/USER/lte-ru.c
+1
-1
No files found.
openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
View file @
bb43c067
...
@@ -2064,6 +2064,10 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
...
@@ -2064,6 +2064,10 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
if
((
dlsch0
!=
NULL
)
&&
(
dlsch1
!=
NULL
)){
if
((
dlsch0
!=
NULL
)
&&
(
dlsch1
!=
NULL
)){
harq_pid
=
dlsch0
->
harq_ids
[
frame
%
2
][
subframe_offset
];
harq_pid
=
dlsch0
->
harq_ids
[
frame
%
2
][
subframe_offset
];
if
(
harq_pid
>=
dlsch0
->
Mdlharq
)
{
LOG_E
(
PHY
,
"illegal harq_pid %d
\n
"
,
harq_pid
);
return
(
-
1
);
}
dlsch0_harq
=
dlsch0
->
harq_processes
[
harq_pid
];
dlsch0_harq
=
dlsch0
->
harq_processes
[
harq_pid
];
mimo_mode
=
dlsch0_harq
->
mimo_mode
;
mimo_mode
=
dlsch0_harq
->
mimo_mode
;
mod_order0
=
dlsch0_harq
->
Qm
;
mod_order0
=
dlsch0_harq
->
Qm
;
...
@@ -2081,6 +2085,10 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
...
@@ -2081,6 +2085,10 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
}
else
if
((
dlsch0
!=
NULL
)
&&
(
dlsch1
==
NULL
)){
}
else
if
((
dlsch0
!=
NULL
)
&&
(
dlsch1
==
NULL
)){
harq_pid
=
dlsch0
->
harq_ids
[
frame
%
2
][
subframe_offset
];
harq_pid
=
dlsch0
->
harq_ids
[
frame
%
2
][
subframe_offset
];
if
(
harq_pid
>=
dlsch0
->
Mdlharq
)
{
LOG_E
(
PHY
,
"illegal harq_pid %d
\n
"
,
harq_pid
);
return
(
-
1
);
}
dlsch0_harq
=
dlsch0
->
harq_processes
[
harq_pid
];
dlsch0_harq
=
dlsch0
->
harq_processes
[
harq_pid
];
mimo_mode
=
dlsch0_harq
->
mimo_mode
;
mimo_mode
=
dlsch0_harq
->
mimo_mode
;
mod_order0
=
dlsch0_harq
->
Qm
;
mod_order0
=
dlsch0_harq
->
Qm
;
...
@@ -2098,6 +2106,10 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
...
@@ -2098,6 +2106,10 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
}
else
if
((
dlsch0
==
NULL
)
&&
(
dlsch1
!=
NULL
)){
}
else
if
((
dlsch0
==
NULL
)
&&
(
dlsch1
!=
NULL
)){
harq_pid
=
dlsch1
->
harq_ids
[
frame
%
2
][
subframe_offset
];
harq_pid
=
dlsch1
->
harq_ids
[
frame
%
2
][
subframe_offset
];
if
(
harq_pid
>=
dlsch1
->
Mdlharq
)
{
LOG_E
(
PHY
,
"illegal harq_pid %d
\n
"
,
harq_pid
);
return
(
-
1
);
}
dlsch1_harq
=
dlsch1
->
harq_processes
[
harq_pid
];
dlsch1_harq
=
dlsch1
->
harq_processes
[
harq_pid
];
mimo_mode
=
dlsch1_harq
->
mimo_mode
;
mimo_mode
=
dlsch1_harq
->
mimo_mode
;
mod_order0
=
dlsch1_harq
->
Qm
;
mod_order0
=
dlsch1_harq
->
Qm
;
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
bb43c067
...
@@ -1689,7 +1689,7 @@ void release_harq(PHY_VARS_eNB *eNB,int UE_id,int tb,uint16_t frame,uint8_t subf
...
@@ -1689,7 +1689,7 @@ void release_harq(PHY_VARS_eNB *eNB,int UE_id,int tb,uint16_t frame,uint8_t subf
frame_tx
=
ul_ACK_subframe2_dl_frame
(
&
eNB
->
frame_parms
,
frame
,
subframe
,
subframe_tx
);
frame_tx
=
ul_ACK_subframe2_dl_frame
(
&
eNB
->
frame_parms
,
frame
,
subframe
,
subframe_tx
);
if
(((
1
<<
m
)
&
mask
)
>
0
)
{
if
(((
1
<<
m
)
&
mask
)
>
0
)
{
harq_pid
=
dlsch0
->
harq_ids
[
frame_tx
%
2
][
subframe_tx
];
harq_pid
=
dlsch0
->
harq_ids
[
frame_tx
%
2
][
subframe_tx
];
if
((
harq_pid
>=
0
)
&&
(
harq_pid
<
10
))
{
if
((
harq_pid
>=
0
)
&&
(
harq_pid
<
dlsch0
->
Mdlharq
))
{
dlsch0_harq
=
dlsch0
->
harq_processes
[
harq_pid
];
dlsch0_harq
=
dlsch0
->
harq_processes
[
harq_pid
];
dlsch1_harq
=
dlsch1
->
harq_processes
[
harq_pid
];
dlsch1_harq
=
dlsch1
->
harq_processes
[
harq_pid
];
AssertFatal
(
dlsch0_harq
!=
NULL
,
"dlsch0_harq is null
\n
"
);
AssertFatal
(
dlsch0_harq
!=
NULL
,
"dlsch0_harq is null
\n
"
);
...
...
openair2/LAYER2/MAC/defs.h
View file @
bb43c067
...
@@ -78,7 +78,7 @@
...
@@ -78,7 +78,7 @@
#define PCCH_PAYLOAD_SIZE_MAX 128
#define PCCH_PAYLOAD_SIZE_MAX 128
#define RAR_PAYLOAD_SIZE_MAX 128
#define RAR_PAYLOAD_SIZE_MAX 128
#define SCH_PAYLOAD_SIZE_MAX
4096
#define SCH_PAYLOAD_SIZE_MAX
8192
/// Logical channel ids from 36-311 (Note BCCH is not specified in 36-311, uses the same as first DRB)
/// Logical channel ids from 36-311 (Note BCCH is not specified in 36-311, uses the same as first DRB)
#if defined(Rel10) || defined(Rel14)
#if defined(Rel10) || defined(Rel14)
...
...
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
View file @
bb43c067
...
@@ -73,7 +73,7 @@ extern uint8_t nfapi_mode;
...
@@ -73,7 +73,7 @@ extern uint8_t nfapi_mode;
// This table holds the allowable PRB sizes for ULSCH transmissions
// This table holds the allowable PRB sizes for ULSCH transmissions
uint8_t
rb_table
[
34
]
=
uint8_t
rb_table
[
34
]
=
{
1
,
2
,
3
,
4
,
5
,
6
,
8
,
9
,
10
,
12
,
15
,
16
,
18
,
20
,
24
,
25
,
27
,
30
,
32
,
{
1
,
2
,
3
,
4
,
5
,
6
,
8
,
9
,
10
,
12
,
15
,
16
,
18
,
20
,
24
,
25
,
27
,
30
,
32
,
36
,
40
,
45
,
48
,
50
,
54
,
60
,
64
,
72
,
75
,
80
,
81
,
90
,
96
,
100
36
,
40
,
45
,
48
,
50
,
54
,
60
,
72
,
75
,
80
,
81
,
90
,
96
,
100
,
100
};
};
extern
mui_t
rrc_eNB_mui
;
extern
mui_t
rrc_eNB_mui
;
...
@@ -1964,7 +1964,8 @@ void schedule_ulsch_rnti(module_id_t module_idP,
...
@@ -1964,7 +1964,8 @@ void schedule_ulsch_rnti(module_id_t module_idP,
ul_req_index
=
0
;
ul_req_index
=
0
;
dlsch_flag
=
0
;
dlsch_flag
=
0
;
for
(
ul_req_index
=
0
;
ul_req_index
<
ul_req_tmp
->
number_of_pdus
;
ul_req_index
++
){
for
(
ul_req_index
=
0
;
ul_req_index
<
ul_req_tmp
->
number_of_pdus
;
ul_req_index
++
){
if
(
ul_req_tmp
->
ul_config_pdu_list
[
ul_req_index
].
pdu_type
==
NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE
){
if
((
ul_req_tmp
->
ul_config_pdu_list
[
ul_req_index
].
pdu_type
==
NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE
)
&&
(
ul_req_tmp
->
ul_config_pdu_list
[
ul_req_index
].
uci_harq_pdu
.
ue_information
.
ue_information_rel8
.
rnti
==
rnti
)){
dlsch_flag
=
1
;
dlsch_flag
=
1
;
LOG_D
(
MAC
,
"Frame %d, Subframe %d:rnti %x ul_req_index %d Switched UCI HARQ to ULSCH HARQ(first)
\n
"
,
frameP
,
subframeP
,
rnti
,
ul_req_index
);
LOG_D
(
MAC
,
"Frame %d, Subframe %d:rnti %x ul_req_index %d Switched UCI HARQ to ULSCH HARQ(first)
\n
"
,
frameP
,
subframeP
,
rnti
,
ul_req_index
);
break
;
break
;
...
@@ -2030,12 +2031,10 @@ void schedule_ulsch_rnti(module_id_t module_idP,
...
@@ -2030,12 +2031,10 @@ void schedule_ulsch_rnti(module_id_t module_idP,
// increment first rb for next UE allocation
// increment first rb for next UE allocation
first_rb
[
CC_id
]
+=
rb_table
[
rb_table_index
];
first_rb
[
CC_id
]
+=
rb_table
[
rb_table_index
];
if
(
ulsch_ue_select
[
CC_id
].
list
[
ulsch_ue_num
].
ue_priority
==
SCH_UL_FIRST
)
{
if
(
ulsch_ue_select
[
CC_id
].
list
[
ulsch_ue_num
].
ue_priority
==
SCH_UL_FIRST
)
{
LOG_D
(
MAC
,
"[eNB %d] CC_id %d UE %d/%x : adjusting ul_total_buffer, old %d, TBS %d
\n
"
,
module_idP
,
CC_id
,
UE_id
,
rnti
,
UE_template
->
ul_total_buffer
,
UE_template
->
TBS_UL
[
harq_pid
]
);
LOG_D
(
MAC
,
"[eNB %d] CC_id %d UE %d/%x : adjusting ul_total_buffer, old %d, TBS %d
\n
"
,
module_idP
,
CC_id
,
UE_id
,
rnti
,
UE_template
->
ul_total_buffer
,
get_TBS_UL
(
UE_template
->
mcs_UL
[
harq_pid
],
rb_table
[
rb_table_index
])
);
if
(
ulsch_ue_select
[
CC_id
].
list
[
ulsch_ue_num
].
ul_total_buffer
>
0
){
if
(
ulsch_ue_select
[
CC_id
].
list
[
ulsch_ue_num
].
ul_total_buffer
>
0
){
LOG_D
(
MAC
,
"[eNB %d] CC_id %d UE %d/%x : adjusting ul_total_buffer, old %d, TBS %d
\n
"
,
if
(
UE_template
->
ul_total_buffer
>
get_TBS_UL
(
UE_template
->
mcs_UL
[
harq_pid
],
rb_table
[
rb_table_index
]))
module_idP
,
CC_id
,
UE_id
,
rnti
,
UE_template
->
ul_total_buffer
,
UE_template
->
TBS_UL
[
harq_pid
]);
UE_template
->
ul_total_buffer
-=
get_TBS_UL
(
UE_template
->
mcs_UL
[
harq_pid
],
rb_table
[
rb_table_index
]);
if
(
UE_template
->
ul_total_buffer
>
UE_template
->
TBS_UL
[
harq_pid
])
UE_template
->
ul_total_buffer
-=
UE_template
->
TBS_UL
[
harq_pid
];
else
else
UE_template
->
ul_total_buffer
=
0
;
UE_template
->
ul_total_buffer
=
0
;
LOG_D
(
MAC
,
"ul_total_buffer, new %d
\n
"
,
UE_template
->
ul_total_buffer
);
LOG_D
(
MAC
,
"ul_total_buffer, new %d
\n
"
,
UE_template
->
ul_total_buffer
);
...
@@ -2131,7 +2130,8 @@ void schedule_ulsch_rnti(module_id_t module_idP,
...
@@ -2131,7 +2130,8 @@ void schedule_ulsch_rnti(module_id_t module_idP,
ul_req_index
=
0
;
ul_req_index
=
0
;
dlsch_flag
=
0
;
dlsch_flag
=
0
;
for
(
ul_req_index
=
0
;
ul_req_index
<
ul_req_tmp
->
number_of_pdus
;
ul_req_index
++
){
for
(
ul_req_index
=
0
;
ul_req_index
<
ul_req_tmp
->
number_of_pdus
;
ul_req_index
++
){
if
(
ul_req_tmp
->
ul_config_pdu_list
[
ul_req_index
].
pdu_type
==
NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE
){
if
((
ul_req_tmp
->
ul_config_pdu_list
[
ul_req_index
].
pdu_type
==
NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE
)
&&
(
ul_req_tmp
->
ul_config_pdu_list
[
ul_req_index
].
uci_harq_pdu
.
ue_information
.
ue_information_rel8
.
rnti
==
rnti
)){
dlsch_flag
=
1
;
dlsch_flag
=
1
;
LOG_D
(
MAC
,
"Frame %d, Subframe %d:rnti %x ul_req_index %d Switched UCI HARQ to ULSCH HARQ(phich)
\n
"
,
frameP
,
subframeP
,
rnti
,
ul_req_index
);
LOG_D
(
MAC
,
"Frame %d, Subframe %d:rnti %x ul_req_index %d Switched UCI HARQ to ULSCH HARQ(phich)
\n
"
,
frameP
,
subframeP
,
rnti
,
ul_req_index
);
break
;
break
;
...
...
targets/RT/USER/lte-ru.c
View file @
bb43c067
...
@@ -1814,7 +1814,7 @@ static void* eNB_thread_phy_tx( void* param ) {
...
@@ -1814,7 +1814,7 @@ static void* eNB_thread_phy_tx( void* param ) {
AssertFatal
(
pthread_cond_signal
(
&
ru
->
proc
.
cond_rf_tx
)
==
0
,
"ERROR pthread_cond_signal for rf_tx thread
\n
"
);
AssertFatal
(
pthread_cond_signal
(
&
ru
->
proc
.
cond_rf_tx
)
==
0
,
"ERROR pthread_cond_signal for rf_tx thread
\n
"
);
}
else
{
}
else
{
LOG_E
(
PHY
,
"rf tx thread busy, skipping
\n
"
);
LOG_E
(
PHY
,
"rf tx thread busy, skipping
\n
"
);
ru
->
proc
.
instance_cnt_rf_tx
++
;
late_control
=
STATE_BURST_TERMINATE
;
}
}
pthread_mutex_unlock
(
&
ru
->
proc
.
mutex_rf_tx
);
pthread_mutex_unlock
(
&
ru
->
proc
.
mutex_rf_tx
);
}
}
...
...
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