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
4f4e2585
Commit
4f4e2585
authored
Mar 23, 2021
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Reduce sched_pucch array length, we only need two entries
parent
b005f959
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
7 additions
and
9 deletions
+7
-9
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
+4
-4
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
+3
-5
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
View file @
4f4e2585
...
@@ -509,11 +509,11 @@ void nr_csi_meas_reporting(int Mod_idP,
...
@@ -509,11 +509,11 @@ void nr_csi_meas_reporting(int Mod_idP,
// find free PUCCH that is in order with possibly existing PUCCH
// find free PUCCH that is in order with possibly existing PUCCH
// schedulings (other CSI, SR)
// schedulings (other CSI, SR)
NR_sched_pucch_t
*
curr_pucch
=
&
sched_ctrl
->
sched_pucch
[
2
];
NR_sched_pucch_t
*
curr_pucch
=
&
sched_ctrl
->
sched_pucch
[
1
];
AssertFatal
(
curr_pucch
->
csi_bits
==
0
AssertFatal
(
curr_pucch
->
csi_bits
==
0
&&
!
curr_pucch
->
sr_flag
&&
!
curr_pucch
->
sr_flag
&&
curr_pucch
->
dai_c
==
0
,
&&
curr_pucch
->
dai_c
==
0
,
"PUCCH not free at index
2
for UE %04x
\n
"
,
"PUCCH not free at index
1
for UE %04x
\n
"
,
UE_info
->
rnti
[
UE_id
]);
UE_info
->
rnti
[
UE_id
]);
curr_pucch
->
frame
=
frame
;
curr_pucch
->
frame
=
frame
;
curr_pucch
->
ul_slot
=
sched_slot
;
curr_pucch
->
ul_slot
=
sched_slot
;
...
@@ -1132,7 +1132,7 @@ bool nr_acknack_scheduling(int mod_id,
...
@@ -1132,7 +1132,7 @@ bool nr_acknack_scheduling(int mod_id,
pucch
->
frame
=
s
==
n_slots_frame
-
1
?
(
f
+
1
)
%
1024
:
f
;
pucch
->
frame
=
s
==
n_slots_frame
-
1
?
(
f
+
1
)
%
1024
:
f
;
pucch
->
ul_slot
=
(
s
+
1
)
%
n_slots_frame
;
pucch
->
ul_slot
=
(
s
+
1
)
%
n_slots_frame
;
// we assume that only two indices over the array sched_pucch exist
// we assume that only two indices over the array sched_pucch exist
const
NR_sched_pucch_t
*
csi_pucch
=
&
sched_ctrl
->
sched_pucch
[
2
];
const
NR_sched_pucch_t
*
csi_pucch
=
&
sched_ctrl
->
sched_pucch
[
1
];
// skip the CSI PUCCH if it is present and if in the next frame/slot
// skip the CSI PUCCH if it is present and if in the next frame/slot
if
(
csi_pucch
->
csi_bits
>
0
if
(
csi_pucch
->
csi_bits
>
0
&&
csi_pucch
->
frame
==
pucch
->
frame
&&
csi_pucch
->
frame
==
pucch
->
frame
...
@@ -1212,7 +1212,7 @@ bool nr_acknack_scheduling(int mod_id,
...
@@ -1212,7 +1212,7 @@ bool nr_acknack_scheduling(int mod_id,
pucch
->
ul_slot
=
max
(
pucch
->
ul_slot
,
slot
+
pdsch_to_harq_feedback
[
0
]);
pucch
->
ul_slot
=
max
(
pucch
->
ul_slot
,
slot
+
pdsch_to_harq_feedback
[
0
]);
// is there already CSI in this slot?
// is there already CSI in this slot?
const
NR_sched_pucch_t
*
csi_pucch
=
&
sched_ctrl
->
sched_pucch
[
2
];
const
NR_sched_pucch_t
*
csi_pucch
=
&
sched_ctrl
->
sched_pucch
[
1
];
// skip the CSI PUCCH if it is present and if in the next frame/slot
// skip the CSI PUCCH if it is present and if in the next frame/slot
if
(
csi_pucch
->
csi_bits
>
0
if
(
csi_pucch
->
csi_bits
>
0
&&
csi_pucch
->
frame
==
pucch
->
frame
&&
csi_pucch
->
frame
==
pucch
->
frame
...
...
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
View file @
4f4e2585
...
@@ -522,11 +522,9 @@ typedef struct {
...
@@ -522,11 +522,9 @@ typedef struct {
int
cce_index
;
int
cce_index
;
uint8_t
aggregation_level
;
uint8_t
aggregation_level
;
/// PUCCH scheduling information. Array of three, we assume for the moment:
/// PUCCH scheduling information. Array of two: HARQ+SR in the first field,
/// HARQ in the first field, SR in second, CSI in third (as fixed by RRC
/// CSI in second. This order is important for nr_acknack_scheduling()!
/// conf., i.e. if actually present). The order is important for
NR_sched_pucch_t
sched_pucch
[
2
];
/// nr_acknack_scheduling()!
NR_sched_pucch_t
sched_pucch
[
3
];
/// PUSCH semi-static configuration: is not cleared across TTIs
/// PUSCH semi-static configuration: is not cleared across TTIs
NR_pusch_semi_static_t
pusch_semi_static
;
NR_pusch_semi_static_t
pusch_semi_static
;
...
...
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