Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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
Michael Black
OpenXG UE
Commits
8ea5cc89
Commit
8ea5cc89
authored
Feb 22, 2022
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
addressing review comments
parent
982158f9
Changes
3
Show 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 @
8ea5cc89
...
...
@@ -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 @
8ea5cc89
...
...
@@ -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 @
8ea5cc89
...
...
@@ -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