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
633370ff
Commit
633370ff
authored
Jun 17, 2022
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
further MAC cleanup with BWPs
parent
3cd49db4
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
52 additions
and
137 deletions
+52
-137
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+3
-3
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+3
-8
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+32
-114
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
+5
-5
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+5
-5
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
+2
-0
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
633370ff
...
...
@@ -844,7 +844,7 @@ void nr_generate_Msg3_retransmission(module_id_t module_idP, int CC_id, frame_t
NR_RNTI_TC
,
pusch_pdu
->
bwp_size
,
UL_BWP
->
bwp_id
,
coreset
id
,
coreset
,
nr_mac
->
cset0_bwp_size
);
// Mark the corresponding RBs as used
...
...
@@ -1376,7 +1376,7 @@ void nr_generate_Msg2(module_id_t module_idP, int CC_id, frame_t frameP, sub_fra
NR_RNTI_RA
,
BWPSize
,
DL_BWP
->
bwp_id
,
coreset
id
,
coreset
,
nr_mac
->
cset0_bwp_size
);
// DL TX request
...
...
@@ -1770,7 +1770,7 @@ void nr_generate_Msg4(module_id_t module_idP, int CC_id, frame_t frameP, sub_fra
NR_RNTI_TC
,
pdsch_pdu_rel15
->
BWPSize
,
DL_BWP
->
bwp_id
,
coreset
id
,
coreset
,
nr_mac
->
cset0_bwp_size
);
// Add padding header and zero rest out if there is space left
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
View file @
633370ff
...
...
@@ -553,7 +553,7 @@ void nr_fill_nfapi_dl_sib1_pdu(int Mod_idP,
rnti_type
,
pdsch_pdu_rel15
->
BWPSize
,
0
,
0
,
gNB_mac
->
sched_ctrlCommon
->
coreset
,
gNB_mac
->
cset0_bwp_size
);
LOG_D
(
MAC
,
"BWPSize: %i
\n
"
,
pdcch_pdu_rel15
->
BWPSize
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
633370ff
...
...
@@ -948,8 +948,6 @@ void nr_schedule_ue_spec(module_id_t module_id,
sched_pdsch
->
pucch_allocation
,
sched_ctrl
->
tpc1
);
NR_SearchSpace_t
*
ss
=
sched_ctrl
->
search_space
;
const
int
bwp_id
=
current_BWP
->
bwp_id
;
const
int
coresetid
=
sched_ctrl
->
coreset
->
controlResourceSetId
;
...
...
@@ -1037,7 +1035,7 @@ void nr_schedule_ue_spec(module_id_t module_id,
csi_report
->
codebook_mode
);
}
// TBS_LBRM according to section 5.4.2.1 of 38.212
long
*
maxMIMO_Layers
=
c
g
->
spCellConfig
->
spCellConfigDedicated
->
pdsch_ServingCellConfig
->
choice
.
setup
->
ext1
->
maxMIMO_Layers
;
long
*
maxMIMO_Layers
=
c
urrent_BWP
->
pdsch_servingcellconfig
->
ext1
->
maxMIMO_Layers
;
AssertFatal
(
maxMIMO_Layers
!=
NULL
,
"Option with max MIMO layers not configured is not supported
\n
"
);
int
nl_tbslbrm
=
*
maxMIMO_Layers
<
4
?
*
maxMIMO_Layers
:
4
;
// Maximum number of PRBs across all configured DL BWPs
...
...
@@ -1134,20 +1132,17 @@ void nr_schedule_ue_spec(module_id_t module_id,
dci_payload
.
tpc
,
pucch
->
timing_indicator
);
int
dci_format
=
ss
&&
ss
->
searchSpaceType
&&
ss
->
searchSpaceType
->
present
==
NR_SearchSpace__searchSpaceType_PR_ue_Specific
?
NR_DL_DCI_FORMAT_1_1
:
NR_DL_DCI_FORMAT_1_0
;
const
int
rnti_type
=
NR_RNTI_C
;
fill_dci_pdu_rel15
(
scc
,
cg
,
current_BWP
,
dci_pdu
,
&
dci_payload
,
dci_format
,
current_BWP
->
dci_format
,
rnti_type
,
pdsch_pdu
->
BWPSize
,
bwp_id
,
coresetid
,
sched_ctrl
->
coreset
,
gNB_mac
->
cset0_bwp_size
);
LOG_D
(
NR_MAC
,
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
633370ff
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
View file @
633370ff
...
...
@@ -1583,7 +1583,7 @@ int nr_acknack_scheduling(int mod_id,
const
int
CC_id
=
0
;
const
int
minfbtime
=
RC
.
nrmac
[
mod_id
]
->
minRXTXTIMEpdsch
;
const
NR_ServingCellConfigCommon_t
*
scc
=
RC
.
nrmac
[
mod_id
]
->
common_channels
[
CC_id
].
ServingCellConfigCommon
;
NR_UE_UL_BWP_t
*
BWP
=
&
UE
->
current_UL_BWP
;
const
NR_UE_UL_BWP_t
*
BWP
=
&
UE
->
current_UL_BWP
;
const
int
n_slots_frame
=
nr_slots_per_frame
[
BWP
->
scs
];
const
NR_TDD_UL_DL_Pattern_t
*
tdd
=
scc
->
tdd_UL_DL_ConfigurationCommon
?
&
scc
->
tdd_UL_DL_ConfigurationCommon
->
pattern1
:
NULL
;
AssertFatal
(
tdd
||
RC
.
nrmac
[
mod_id
]
->
common_channels
[
CC_id
].
frame_type
==
FDD
,
"Dynamic TDD not handled yet
\n
"
);
...
...
@@ -1657,13 +1657,13 @@ int nr_acknack_scheduling(int mod_id,
LOG_D
(
NR_MAC
,
"In %s: pucch_acknak 1. DL %4d.%2d, UL_ACK %4d.%2d, DAI_C %d
\n
"
,
__FUNCTION__
,
frame
,
slot
,
pucch
->
frame
,
pucch
->
ul_slot
,
pucch
->
dai_c
);
NR_SearchSpace__searchSpaceType_PR
ss_type
=
NR_SearchSpace__searchSpaceType_PR_common
;
nr_dci_format_t
dci_format
=
NR_DL_DCI_FORMAT_1_0
;
if
(
is_common
==
0
)
ss_type
=
sched_ctrl
->
search_space
->
searchSpaceType
->
presen
t
;
dci_format
=
UE
->
current_DL_BWP
.
dci_forma
t
;
uint8_t
pdsch_to_harq_feedback
[
8
];
int
max_fb_time
=
0
;
get_pdsch_to_harq_feedback
(
UE
,
ss_type
,
&
max_fb_time
,
pdsch_to_harq_feedback
);
get_pdsch_to_harq_feedback
(
pucch_Config
,
dci_format
,
&
max_fb_time
,
pdsch_to_harq_feedback
);
LOG_D
(
NR_MAC
,
"In %s: 1b. DL %4d.%2d, UL_ACK %4d.%2d, DAI_C %d
\n
"
,
__FUNCTION__
,
frame
,
slot
,
pucch
->
frame
,
pucch
->
ul_slot
,
pucch
->
dai_c
);
/* there is a HARQ. Check whether we can use it for this ACKNACK */
...
...
@@ -1859,7 +1859,7 @@ void nr_sr_reporting(gNB_MAC_INST *nrmac, frame_t SFN, sub_frame_t slot)
AssertFatal
(
pucch_Config
->
schedulingRequestResourceToAddModList
->
list
.
count
>
0
,
"NO SR configuration available"
);
for
(
int
SR_resource_id
=
0
;
SR_resource_id
<
pucch_Config
->
schedulingRequestResourceToAddModList
->
list
.
count
;
SR_resource_id
++
)
{
for
(
int
SR_resource_id
=
0
;
SR_resource_id
<
pucch_Config
->
schedulingRequestResourceToAddModList
->
list
.
count
;
SR_resource_id
++
)
{
NR_SchedulingRequestResourceConfig_t
*
SchedulingRequestResourceConfig
=
pucch_Config
->
schedulingRequestResourceToAddModList
->
list
.
array
[
SR_resource_id
];
int
SR_period
;
int
SR_offset
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
633370ff
...
...
@@ -1725,7 +1725,7 @@ void nr_schedule_ulsch(module_id_t module_id, frame_t frame, sub_frame_t slot)
rnti_types
[
0
],
pusch_pdu
->
bwp_size
,
current_BWP
->
bwp_id
,
coreset
id
,
coreset
,
nr_mac
->
cset0_bwp_size
);
memset
(
sched_pusch
,
0
,
sizeof
(
*
sched_pusch
));
...
...
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
633370ff
...
...
@@ -220,8 +220,8 @@ int nr_acknack_scheduling( int Mod_idP,
int
r_pucch
,
int
do_common
);
void
get_pdsch_to_harq_feedback
(
NR_
UE_info_t
*
UE
,
NR_SearchSpace__searchSpaceType_PR
ss_type
,
void
get_pdsch_to_harq_feedback
(
NR_
PUCCH_Config_t
*
pucch_Config
,
nr_dci_format_t
dci_format
,
int
*
max_fb_time
,
uint8_t
*
pdsch_to_harq_feedback
);
...
...
@@ -296,14 +296,14 @@ void fill_dci_pdu_rel15(const NR_ServingCellConfigCommon_t *scc,
int
rnti_types
,
int
N_RB
,
int
bwp_id
,
NR_ControlResourceSet
Id_t
coreset_id
,
NR_ControlResourceSet
_t
*
coreset
,
uint16_t
cset0_bwp_size
);
void
prepare_dci
(
const
NR_CellGroupConfig_t
*
CellGroup
,
const
NR_UE_DL_BWP_t
*
BWP
,
const
NR_ControlResourceSet_t
*
coreset
,
dci_pdu_rel15_t
*
dci_pdu_rel15
,
nr_dci_format_t
format
,
int
bwp_id
);
nr_dci_format_t
format
);
void
set_r_pucch_parms
(
int
rsetindex
,
int
r_pucch
,
...
...
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
View file @
633370ff
...
...
@@ -100,7 +100,9 @@ typedef struct NR_UE_DL_BWP {
uint16_t
BWPStart
;
NR_PDSCH_TimeDomainResourceAllocationList_t
*
tdaList
;
NR_PDSCH_Config_t
*
pdsch_Config
;
NR_PDSCH_ServingCellConfig_t
*
pdsch_servingcellconfig
;
uint8_t
mcsTableIdx
;
nr_dci_format_t
dci_format
;
}
NR_UE_DL_BWP_t
;
typedef
struct
NR_UE_UL_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