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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG-RAN
Commits
f7989c5c
Commit
f7989c5c
authored
8 years ago
by
Florian Kaltenberger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
adding scheduling for TM4 (fallback to Alamouti for the moment)
parent
c2e106fe
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
147 additions
and
9 deletions
+147
-9
openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
+147
-9
No files found.
openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
View file @
f7989c5c
...
@@ -1418,18 +1418,156 @@ schedule_ue_spec(
...
@@ -1418,18 +1418,156 @@ schedule_ue_spec(
break
;
break
;
/*
// disabled for now as this needs to be done properly
case
4
:
case
4
:
((DCI2_5MHz_2A_TDD_t*)DLSCH_dci)->mcs1 = mcs;
if
(
frame_parms
[
CC_id
]
->
frame_type
==
TDD
)
{
((DCI2_5MHz_2A_TDD_t*)DLSCH_dci)->harq_pid = harq_pid;
switch
(
frame_parms
[
CC_id
]
->
N_RB_DL
)
{
((DCI2_5MHz_2A_TDD_t*)DLSCH_dci)->ndi1 = 1;
case
6
:
((DCI2_5MHz_2A_TDD_t*)DLSCH_dci)->rv1 = round&3;
// fall back to alamouti for now
((DCI2_5MHz_2A_TDD_t*)DLSCH_dci)->dai = (UE_list->UE_template[CC_id][UE_id].DAI-1)&3;
((
DCI2_1_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
tpmi
=
0
;
((DCI2_5MHz_2A_TDD_t*)DLSCH_dci)->TPC = tpc;
((
DCI2_1_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
mcs1
=
mcs
;
((
DCI2_1_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
harq_pid
=
harq_pid
;
((
DCI2_1_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
ndi1
=
1
-
UE_list
->
UE_template
[
CC_id
][
UE_id
].
oldNDI
[
harq_pid
];
((
DCI2_1_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
rv1
=
0
;
break;
// deactivate TB2
((
DCI2A_1_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
mcs2
=
0
;
((
DCI2A_1_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
rv2
=
1
;
((
DCI2A_1_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
dai
=
(
UE_list
->
UE_template
[
CC_id
][
UE_id
].
DAI
-
1
)
&
3
;
((
DCI2A_1_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
TPC
=
tpc
;
break
;
case
25
:
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
tpmi
=
0
;
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
mcs1
=
mcs
;
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
harq_pid
=
harq_pid
;
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
ndi1
=
1
-
UE_list
->
UE_template
[
CC_id
][
UE_id
].
oldNDI
[
harq_pid
];
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
rv1
=
0
;
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
dai
=
(
UE_list
->
UE_template
[
CC_id
][
UE_id
].
DAI
-
1
)
&
3
;
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
TPC
=
tpc
;
// deactivate TB2
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
mcs2
=
0
;
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
rv2
=
1
;
LOG_D
(
MAC
,
"Format2 DCI: harq_pid %d, ndi %d
\n
"
,
harq_pid
,((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
ndi1
);
break
;
case
50
:
((
DCI2_10MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
tpmi
=
0
;
((
DCI2_10MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
mcs1
=
mcs
;
((
DCI2_10MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
harq_pid
=
harq_pid
;
((
DCI2_10MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
ndi1
=
1
-
UE_list
->
UE_template
[
CC_id
][
UE_id
].
oldNDI
[
harq_pid
];
((
DCI2_10MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
rv1
=
0
;
((
DCI2_10MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
dai
=
(
UE_list
->
UE_template
[
CC_id
][
UE_id
].
DAI
-
1
)
&
3
;
((
DCI2_10MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
TPC
=
tpc
;
// deactivate TB2
((
DCI2_10MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
mcs2
=
0
;
((
DCI2_10MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
rv2
=
1
;
break
;
case
100
:
((
DCI2_20MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
tpmi
=
0
;
((
DCI2_20MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
mcs1
=
mcs
;
((
DCI2_20MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
harq_pid
=
harq_pid
;
((
DCI2_20MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
ndi1
=
1
-
UE_list
->
UE_template
[
CC_id
][
UE_id
].
oldNDI
[
harq_pid
];
((
DCI2_20MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
rv1
=
0
;
((
DCI2_20MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
dai
=
(
UE_list
->
UE_template
[
CC_id
][
UE_id
].
DAI
-
1
)
&
3
;
((
DCI2_20MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
TPC
=
tpc
;
// deactivate TB2
((
DCI2_20MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
mcs2
=
0
;
((
DCI2_20MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
rv2
=
1
;
break
;
default:
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
tpmi
=
0
;
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
mcs1
=
mcs
;
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
harq_pid
=
harq_pid
;
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
ndi1
=
1
-
UE_list
->
UE_template
[
CC_id
][
UE_id
].
oldNDI
[
harq_pid
];
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
rv1
=
0
;
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
dai
=
(
UE_list
->
UE_template
[
CC_id
][
UE_id
].
DAI
-
1
)
&
3
;
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
TPC
=
tpc
;
// deactivate TB2
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
mcs2
=
0
;
((
DCI2_5MHz_2A_TDD_t
*
)
DLSCH_dci
)
->
rv2
=
1
;
break
;
}
}
else
{
switch
(
frame_parms
[
CC_id
]
->
N_RB_DL
)
{
case
6
:
((
DCI2_1_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
tpmi
=
0
;
((
DCI2_1_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
mcs1
=
mcs
;
((
DCI2_1_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
harq_pid
=
harq_pid
;
((
DCI2_1_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
ndi1
=
1
-
UE_list
->
UE_template
[
CC_id
][
UE_id
].
oldNDI
[
harq_pid
];
((
DCI2_1_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
rv1
=
0
;
((
DCI2_1_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
TPC
=
tpc
;
// deactivate TB2
((
DCI2_1_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
mcs2
=
0
;
((
DCI2_1_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
rv2
=
1
;
break
;
case
25
:
((
DCI2_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
tpmi
=
0
;
((
DCI2_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
mcs1
=
mcs
;
((
DCI2_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
harq_pid
=
harq_pid
;
((
DCI2_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
ndi1
=
1
-
UE_list
->
UE_template
[
CC_id
][
UE_id
].
oldNDI
[
harq_pid
];
((
DCI2_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
rv1
=
0
;
((
DCI2_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
TPC
=
tpc
;
// deactivate TB2
((
DCI2_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
mcs2
=
0
;
((
DCI2_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
rv2
=
1
;
LOG_I
(
MAC
,
"Format2 DCI: harq_pid %d, ndi %d
\n
"
,
harq_pid
,((
DCI2_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
ndi1
);
break
;
case
50
:
((
DCI2_10MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
tpmi
=
0
;
((
DCI2_10MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
mcs1
=
mcs
;
((
DCI2_10MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
harq_pid
=
harq_pid
;
((
DCI2_10MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
ndi1
=
1
-
UE_list
->
UE_template
[
CC_id
][
UE_id
].
oldNDI
[
harq_pid
];
((
DCI2_10MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
rv1
=
0
;
((
DCI2_10MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
TPC
=
tpc
;
// deactivate TB2
((
DCI2_10MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
mcs2
=
0
;
((
DCI2_10MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
rv2
=
1
;
break
;
case
100
:
((
DCI2_20MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
tpmi
=
0
;
((
DCI2_20MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
mcs1
=
mcs
;
((
DCI2_20MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
harq_pid
=
harq_pid
;
((
DCI2_20MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
ndi1
=
1
-
UE_list
->
UE_template
[
CC_id
][
UE_id
].
oldNDI
[
harq_pid
];
((
DCI2_20MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
rv1
=
0
;
((
DCI2_20MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
TPC
=
tpc
;
// deactivate TB2
((
DCI2_20MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
mcs2
=
0
;
((
DCI2_20MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
rv2
=
1
;
break
;
default:
((
DCI2_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
tpmi
=
0
;
((
DCI2_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
mcs1
=
mcs
;
((
DCI2_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
harq_pid
=
harq_pid
;
((
DCI2_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
ndi1
=
1
-
UE_list
->
UE_template
[
CC_id
][
UE_id
].
oldNDI
[
harq_pid
];
((
DCI2_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
rv1
=
0
;
((
DCI2_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
TPC
=
tpc
;
// deactivate TB2
((
DCI2_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
mcs2
=
0
;
((
DCI2_5MHz_2A_FDD_t
*
)
DLSCH_dci
)
->
rv2
=
1
;
break
;
}
}
break
;
/*
// disabled for now as this needs to be done properly
case 5:
case 5:
((DCI1E_5MHz_2A_M10PRB_TDD_t*)DLSCH_dci)->mcs = mcs;
((DCI1E_5MHz_2A_M10PRB_TDD_t*)DLSCH_dci)->mcs = mcs;
...
...
This diff is collapsed.
Click to expand it.
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