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
spbro
OpenXG-RAN
Commits
c3d0d6d8
Commit
c3d0d6d8
authored
Feb 22, 2022
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
addressing review comments
parent
d12eb8ef
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
21 additions
and
19 deletions
+21
-19
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
+13
-11
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+7
-7
No files found.
openair2/GNB_APP/gnb_config.c
View file @
c3d0d6d8
...
...
@@ -740,7 +740,7 @@ void RCconfig_nr_macrlc() {
uint16_t
prbbl
[
275
];
int
num_prbbl
=
0
;
int
prb
;
memset
(
prbbl
,
0
,
275
*
sizeof
(
uint16_t
)
);
memset
(
prbbl
,
0
,
prbbl
);
while
(
pt
)
{
prb
=
atoi
(
pt
);
prbbl
[
prb
]
=
0x3FFF
;
// all symbols taken
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
View file @
c3d0d6d8
...
...
@@ -557,7 +557,7 @@ void nr_csi_meas_reporting(int Mod_idP,
// verify resources are free
for
(
int
i
=
start
;
i
<
start
+
len
;
++
i
)
{
if
((
vrb_map_UL
[
i
+
bwp_start
]
&
mask
)
!=
0
)
{
LOG_E
(
NR_MAC
,
"%
s(): VRB MAP not free. Can't schedule CSI reporting on PUCCH.
\n
"
,
__func__
);
LOG_E
(
NR_MAC
,
"%
4d.%2d VRB MAP in %4d.%2d not free. Can't schedule CSI reporting on PUCCH.
\n
"
,
frame
,
slot
,
frame
,
sched_slot
);
memset
(
curr_pucch
,
0
,
sizeof
(
*
curr_pucch
));
}
else
...
...
@@ -1273,17 +1273,18 @@ int nr_acknack_scheduling(int mod_id,
* later)
* * each UE has dedicated PUCCH Format 0 resources, and we use index 0! */
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
RC
.
nrmac
[
mod_id
]
->
UE_info
.
UE_sched_ctrl
[
UE_id
];
NR_CellGroupConfig_t
*
cg
=
RC
.
nrmac
[
mod_id
]
->
UE_info
.
CellGroup
[
UE_id
];
NR_PUCCH_Config_t
*
pucch_Config
=
NULL
;
if
(
sched_ctrl
->
active_ubwp
)
{
pucch_Config
=
sched_ctrl
->
active_ubwp
->
bwp_Dedicated
->
pucch_Config
->
choice
.
setup
;
}
else
if
(
RC
.
nrmac
[
mod_id
]
->
UE_info
.
CellGroup
[
UE_id
]
&&
RC
.
nrmac
[
mod_id
]
->
UE_info
.
CellGroup
[
UE_id
]
->
spCellConfig
&&
RC
.
nrmac
[
mod_id
]
->
UE_info
.
CellGroup
[
UE_id
]
->
spCellConfig
->
spCellConfigDedicated
&&
RC
.
nrmac
[
mod_id
]
->
UE_info
.
CellGroup
[
UE_id
]
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
&&
RC
.
nrmac
[
mod_id
]
->
UE_info
.
CellGroup
[
UE_id
]
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
&&
RC
.
nrmac
[
mod_id
]
->
UE_info
.
CellGroup
[
UE_id
]
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
->
pucch_Config
->
choice
.
setup
)
{
pucch_Config
=
RC
.
nrmac
[
mod_id
]
->
UE_info
.
CellGroup
[
UE_id
]
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
->
pucch_Config
->
choice
.
setup
;
}
else
if
(
cg
&&
cg
->
spCellConfig
&&
cg
->
spCellConfig
->
spCellConfigDedicated
&&
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
&&
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
&&
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
->
pucch_Config
->
choice
.
setup
)
{
pucch_Config
=
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
->
pucch_Config
->
choice
.
setup
;
}
NR_BWP_t
*
genericParameters
=
sched_ctrl
->
active_ubwp
?
&
sched_ctrl
->
active_ubwp
->
bwp_Common
->
genericParameters
:
...
...
@@ -1336,7 +1337,6 @@ int nr_acknack_scheduling(int mod_id,
LOG_D
(
NR_MAC
,
"In %s: pucch_acknak 1. DL %d.%d, UL_ACK %d.%d, DAI_C %d
\n
"
,
__FUNCTION__
,
frame
,
slot
,
pucch
->
frame
,
pucch
->
ul_slot
,
pucch
->
dai_c
);
// this is hardcoded for now as ue specific only if we are not on the initialBWP (to be fixed to allow ue_Specific also on initialBWP
NR_CellGroupConfig_t
*
cg
=
RC
.
nrmac
[
mod_id
]
->
UE_info
.
CellGroup
[
UE_id
];
NR_BWP_UplinkDedicated_t
*
ubwpd
=
NULL
;
if
(
cg
&&
...
...
@@ -1410,11 +1410,13 @@ int nr_acknack_scheduling(int mod_id,
// Find the right timing_indicator value.
int
ind_found
=
-
1
;
// while we are within the feedback limits
uint16_t
*
vrb_map_UL
;
while
((
n_slots_frame
+
pucch
->
ul_slot
-
slot
)
%
n_slots_frame
<=
max_fb_time
)
{
// checking if in ul_slot the resources potentially to be assigned to this PUCCH are available
vrb_map_UL
=
&
RC
.
nrmac
[
mod_id
]
->
common_channels
[
CC_id
].
vrb_map_UL
[
pucch
->
ul_slot
*
MAX_BWP_SIZE
];
bool
ret
=
test_acknack_vrb_occupation
(
sched_ctrl
,
pucch
,
&
RC
.
nrmac
[
mod_id
]
->
common_channels
[
CC_id
].
vrb_map_UL
[
pucch
->
ul_slot
*
MAX_BWP_SIZE
]
,
vrb_map_UL
,
scc
,
pucch_Config
,
r_pucch
,
...
...
@@ -1499,7 +1501,7 @@ int nr_acknack_scheduling(int mod_id,
pucch
->
resource_indicator
=
0
;
// each UE has dedicated PUCCH resources
pucch
->
r_pucch
=
r_pucch
;
uint16_t
*
vrb_map_UL
=
&
RC
.
nrmac
[
mod_id
]
->
common_channels
[
CC_id
].
vrb_map_UL
[
pucch
->
ul_slot
*
MAX_BWP_SIZE
];
vrb_map_UL
=
&
RC
.
nrmac
[
mod_id
]
->
common_channels
[
CC_id
].
vrb_map_UL
[
pucch
->
ul_slot
*
MAX_BWP_SIZE
];
for
(
int
l
=
0
;
l
<
pucch
->
nr_of_symb
;
l
++
)
{
uint16_t
symb
=
SL_to_bitmap
(
pucch
->
start_symb
+
l
,
1
);
int
prb
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
c3d0d6d8
...
...
@@ -1209,13 +1209,6 @@ void pf_ul(module_id_t module_id,
if
(
max_num_ue
<
0
)
return
;
sched_ctrl
->
cce_index
=
CCEIndex
;
fill_pdcch_vrb_map
(
RC
.
nrmac
[
module_id
],
CC_id
,
&
sched_ctrl
->
sched_pdcch
,
CCEIndex
,
sched_ctrl
->
aggregation_level
);
/* Save PUSCH field */
/* we want to avoid a lengthy deduction of DMRS and other parameters in
* every TTI if we can save it, so check whether dci_format, TDA, or
...
...
@@ -1238,6 +1231,13 @@ void pf_ul(module_id_t module_id,
return
;
}
sched_ctrl
->
cce_index
=
CCEIndex
;
fill_pdcch_vrb_map
(
RC
.
nrmac
[
module_id
],
CC_id
,
&
sched_ctrl
->
sched_pdcch
,
CCEIndex
,
sched_ctrl
->
aggregation_level
);
NR_sched_pusch_t
*
sched_pusch
=
&
sched_ctrl
->
sched_pusch
;
sched_pusch
->
mcs
=
9
;
update_ul_ue_R_Qm
(
sched_pusch
,
ps
);
...
...
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