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
zzha zzha
OpenXG-RAN
Commits
432e00a0
Commit
432e00a0
authored
Sep 29, 2021
by
rmagueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
General tda selection
parent
76a8ac30
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
41 additions
and
9 deletions
+41
-9
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+4
-8
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
+2
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+33
-0
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+2
-0
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
432e00a0
...
...
@@ -491,10 +491,8 @@ bool allocate_dl_retransmission(module_id_t module_id,
const
long
f
=
(
sched_ctrl
->
active_bwp
||
bwpd
)
?
sched_ctrl
->
search_space
->
searchSpaceType
->
choice
.
ue_Specific
->
dci_Formats
:
0
;
const
uint8_t
num_dmrs_cdm_grps_no_data
=
(
sched_ctrl
->
active_bwp
||
bwpd
)
?
(
f
?
1
:
(
ps
->
nrOfSymbols
==
2
?
1
:
2
))
:
(
ps
->
nrOfSymbols
==
2
?
1
:
2
);
int
rbSize
=
0
;
bool
is_mixed_slot
=
is_xlsch_in_slot
(
RC
.
nrmac
[
module_id
]
->
dlsch_slot_bitmap
[
slot
/
64
],
slot
)
&&
is_xlsch_in_slot
(
RC
.
nrmac
[
module_id
]
->
ulsch_slot_bitmap
[
slot
/
64
],
slot
);
const
int
tda
=
sched_ctrl
->
active_bwp
?
RC
.
nrmac
[
module_id
]
->
preferred_dl_tda
[
sched_ctrl
->
active_bwp
->
bwp_Id
][
slot
]
:
(
0
+
(
is_mixed_slot
?
1
:
0
));
const
int
tda
=
sched_ctrl
->
active_bwp
?
RC
.
nrmac
[
module_id
]
->
preferred_dl_tda
[
sched_ctrl
->
active_bwp
->
bwp_Id
][
slot
]
:
nr_find_default_tda
(
module_id
,
slot
);
AssertFatal
(
tda
>=
0
,
"Unable to find PDSCH time domain allocation in list
\n
"
);
if
(
tda
==
retInfo
->
time_domain_allocation
)
{
/* Check that there are enough resources for retransmission */
while
(
rbSize
<
retInfo
->
rbSize
)
{
...
...
@@ -718,10 +716,8 @@ void pf_dl(module_id_t module_id,
/* MCS has been set above */
bool
is_mixed_slot
=
is_xlsch_in_slot
(
RC
.
nrmac
[
module_id
]
->
dlsch_slot_bitmap
[
slot
/
64
],
slot
)
&&
is_xlsch_in_slot
(
RC
.
nrmac
[
module_id
]
->
ulsch_slot_bitmap
[
slot
/
64
],
slot
);
const
int
tda
=
sched_ctrl
->
active_bwp
?
RC
.
nrmac
[
module_id
]
->
preferred_dl_tda
[
sched_ctrl
->
active_bwp
->
bwp_Id
][
slot
]
:
(
0
+
(
is_mixed_slot
?
1
:
0
));
const
int
tda
=
sched_ctrl
->
active_bwp
?
RC
.
nrmac
[
module_id
]
->
preferred_dl_tda
[
sched_ctrl
->
active_bwp
->
bwp_Id
][
slot
]
:
nr_find_default_tda
(
module_id
,
slot
);
AssertFatal
(
tda
>=
0
,
"Unable to find PDSCH time domain allocation in list
\n
"
);
NR_sched_pdsch_t
*
sched_pdsch
=
&
sched_ctrl
->
sched_pdsch
;
NR_pdsch_semi_static_t
*
ps
=
&
sched_ctrl
->
pdsch_semi_static
;
const
long
f
=
(
sched_ctrl
->
active_bwp
||
bwpd
)
?
sched_ctrl
->
search_space
->
searchSpaceType
->
choice
.
ue_Specific
->
dci_Formats
:
0
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
View file @
432e00a0
...
...
@@ -371,7 +371,8 @@ void nr_preprocessor_phytest(module_id_t module_id,
sched_pdsch
->
pucch_allocation
=
alloc
;
sched_pdsch
->
rbStart
=
rbStart
;
sched_pdsch
->
rbSize
=
rbSize
;
const
int
tda
=
sched_ctrl
->
active_bwp
?
RC
.
nrmac
[
module_id
]
->
preferred_dl_tda
[
sched_ctrl
->
active_bwp
->
bwp_Id
][
slot
]
:
1
;
const
int
tda
=
sched_ctrl
->
active_bwp
?
RC
.
nrmac
[
module_id
]
->
preferred_dl_tda
[
sched_ctrl
->
active_bwp
->
bwp_Id
][
slot
]
:
nr_find_default_tda
(
module_id
,
slot
);
AssertFatal
(
tda
>=
0
,
"Unable to find PDSCH time domain allocation in list
\n
"
);
const
uint8_t
num_dmrs_cdm_grps_no_data
=
1
;
const
long
f
=
1
;
ps
->
nrOfLayers
=
target_dl_Nl
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
432e00a0
...
...
@@ -295,6 +295,39 @@ bool nr_find_nb_rb(uint16_t Qm,
return
*
tbs
>=
bytes
&&
*
nb_rb
<=
nb_rb_max
;
}
int
nr_find_default_tda
(
module_id_t
module_id
,
sub_frame_t
slot
)
{
int
tda
=
-
1
;
const
NR_ServingCellConfigCommon_t
*
scc
=
RC
.
nrmac
[
module_id
]
->
common_channels
->
ServingCellConfigCommon
;
NR_PDSCH_TimeDomainResourceAllocationList_t
*
pdsch_TimeDomainAllocationList
=
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
pdsch_ConfigCommon
->
choice
.
setup
->
pdsch_TimeDomainAllocationList
;
bool
is_mixed_slot
=
is_xlsch_in_slot
(
RC
.
nrmac
[
module_id
]
->
dlsch_slot_bitmap
[
slot
/
64
],
slot
)
&&
is_xlsch_in_slot
(
RC
.
nrmac
[
module_id
]
->
ulsch_slot_bitmap
[
slot
/
64
],
slot
);
int
startSymbolAndLength
=
0
;
int
StartSymbolIndex
=
0
;
int
NrOfSymbols
=
0
;
int
NrOfSymbols_sel
=
-
1
;
for
(
int
i
=
0
;
i
<
pdsch_TimeDomainAllocationList
->
list
.
count
;
i
++
)
{
startSymbolAndLength
=
pdsch_TimeDomainAllocationList
->
list
.
array
[
i
]
->
startSymbolAndLength
;
SLIV2SL
(
startSymbolAndLength
,
&
StartSymbolIndex
,
&
NrOfSymbols
);
if
(
is_mixed_slot
)
{
if
(
StartSymbolIndex
+
NrOfSymbols
<=
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern1
.
nrofDownlinkSymbols
&&
NrOfSymbols
>
NrOfSymbols_sel
)
{
NrOfSymbols_sel
=
NrOfSymbols
;
tda
=
i
;
}
}
else
{
if
(
NrOfSymbols
>
NrOfSymbols_sel
)
{
NrOfSymbols_sel
=
NrOfSymbols
;
tda
=
i
;
}
}
}
return
tda
;
}
void
nr_set_pdsch_semi_static
(
const
NR_ServingCellConfigCommon_t
*
scc
,
const
NR_CellGroupConfig_t
*
secondaryCellGroup
,
const
NR_BWP_Downlink_t
*
bwp
,
...
...
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
432e00a0
...
...
@@ -284,6 +284,8 @@ NR_SearchSpace_t *get_searchspace(NR_ServingCellConfigCommon_t *scc,
long
get_K2
(
NR_ServingCellConfigCommon_t
*
scc
,
NR_BWP_Uplink_t
*
ubwp
,
int
time_domain_assignment
,
int
mu
);
int
nr_find_default_tda
(
module_id_t
module_id
,
sub_frame_t
slot
);
void
nr_set_pdsch_semi_static
(
const
NR_ServingCellConfigCommon_t
*
scc
,
const
NR_CellGroupConfig_t
*
secondaryCellGroup
,
const
NR_BWP_Downlink_t
*
bwp
,
...
...
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