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
0965e86a
Commit
0965e86a
authored
Jun 15, 2023
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
schedule CSI-RS only once per BWP
parent
93d6ae6d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
8 deletions
+15
-8
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+12
-6
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
+2
-1
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
0965e86a
...
...
@@ -60,7 +60,7 @@ const int get_dl_tda(const gNB_MAC_INST *nrmac, const NR_ServingCellConfigCommon
AssertFatal
(
tdd
||
nrmac
->
common_channels
->
frame_type
==
FDD
,
"Dynamic TDD not handled yet
\n
"
);
// Use special TDA in case of CSI-RS
if
(
nrmac
->
UE_info
.
sched_csirs
)
if
(
nrmac
->
UE_info
.
sched_csirs
>
0
)
return
1
;
if
(
tdd
&&
tdd
->
nrofDownlinkSymbols
>
1
)
{
// if there is a mixed slot where we can transmit DL
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
0965e86a
...
...
@@ -2552,18 +2552,23 @@ void nr_csirs_scheduling(int Mod_idP, frame_t frame, sub_frame_t slot, int n_slo
uint16_t
*
vrb_map
=
gNB_mac
->
common_channels
[
CC_id
].
vrb_map
;
UE_info
->
sched_csirs
=
false
;
UE_info
->
sched_csirs
=
0
;
UE_iterator
(
UE_info
->
list
,
UE
)
{
NR_UE_DL_BWP_t
*
dl_bwp
=
&
UE
->
current_DL_BWP
;
NR_UE_UL_BWP_t
*
ul_bwp
=
&
UE
->
current_UL_BWP
;
// CSI-RS is common to all UEs in a given BWP
// therefore we need to schedule only once per BWP
// the following condition verifies if CSI-RS
// has been already scheduled in this BWP
if
(
UE_info
->
sched_csirs
&
(
1
<<
dl_bwp
->
bwp_id
))
continue
;
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE
->
UE_sched_ctrl
;
if
(
sched_ctrl
->
rrc_processing_timer
>
0
)
{
continue
;
}
NR_UE_DL_BWP_t
*
dl_bwp
=
&
UE
->
current_DL_BWP
;
NR_UE_UL_BWP_t
*
ul_bwp
=
&
UE
->
current_UL_BWP
;
if
(
!
ul_bwp
->
csi_MeasConfig
)
continue
;
NR_CSI_MeasConfig_t
*
csi_measconfig
=
ul_bwp
->
csi_MeasConfig
;
...
...
@@ -2598,8 +2603,9 @@ void nr_csirs_scheduling(int Mod_idP, frame_t frame, sub_frame_t slot, int n_slo
if
((
frame
*
n_slots_frame
+
slot
-
offset
)
%
period
==
0
)
{
LOG_D
(
NR_MAC
,
"Scheduling CSI-RS in frame %d slot %d Resource ID %ld
\n
"
,
frame
,
slot
,
nzpcsi
->
nzp_CSI_RS_ResourceId
);
UE_info
->
sched_csirs
=
true
;
LOG_D
(
NR_MAC
,
"Scheduling CSI-RS in frame %d slot %d Resource ID %ld
\n
"
,
frame
,
slot
,
nzpcsi
->
nzp_CSI_RS_ResourceId
);
UE_info
->
sched_csirs
|=
(
1
<<
dl_bwp
->
bwp_id
);
nfapi_nr_dl_tti_request_pdu_t
*
dl_tti_csirs_pdu
=
&
dl_req
->
dl_tti_pdu_list
[
dl_req
->
nPDUs
];
memset
((
void
*
)
dl_tti_csirs_pdu
,
0
,
sizeof
(
nfapi_nr_dl_tti_request_pdu_t
));
...
...
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
View file @
0965e86a
...
...
@@ -691,7 +691,8 @@ typedef struct {
// last element always NULL
pthread_mutex_t
mutex
;
NR_UE_info_t
*
list
[
MAX_MOBILES_PER_GNB
+
1
];
bool
sched_csirs
;
// bitmap of CSI-RS already scheduled in current slot
int
sched_csirs
;
uid_allocator_t
uid_allocator
;
}
NR_UEs_t
;
...
...
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