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
wangjie
OpenXG-RAN
Commits
7b4298a6
Commit
7b4298a6
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
dcf3b235
a3285788
Changes
5
Hide 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 @
7b4298a6
...
@@ -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 @
7b4298a6
...
@@ -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 @
7b4298a6
...
@@ -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 @
7b4298a6
...
@@ -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 @
7b4298a6
...
@@ -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