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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
cf6ac388
Commit
cf6ac388
authored
Aug 29, 2022
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
addressing review comments
parent
51483a32
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
43 additions
and
36 deletions
+43
-36
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
+27
-22
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
+5
-3
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+2
-2
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+3
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+2
-2
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
+2
-3
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+1
-1
No files found.
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
View file @
cf6ac388
...
...
@@ -4128,34 +4128,39 @@ uint16_t compute_pucch_prb_size(uint8_t format,
}
}
int
get_bw_tbslbrm
(
int
scc_bwpsize
,
bool
is_dl
,
NR_CellGroupConfig_t
*
cg
)
{
int
get_dlbw_tbslbrm
(
int
scc_bwpsize
,
NR_CellGroupConfig_t
*
cg
)
{
int
bw
=
scc_bwpsize
;
if
(
cg
&&
cg
->
spCellConfig
&&
cg
->
spCellConfig
->
spCellConfigDedicated
)
{
const
NR_ServingCellConfig_t
*
servingCellConfig
=
cg
->
spCellConfig
->
spCellConfigDedicated
;
if
(
is_dl
)
{
if
(
servingCellConfig
->
downlinkBWP_ToAddModList
)
{
const
struct
NR_ServingCellConfig__downlinkBWP_ToAddModList
*
BWP_list
=
servingCellConfig
->
downlinkBWP_ToAddModList
;
for
(
int
i
=
0
;
i
<
BWP_list
->
list
.
count
;
i
++
)
{
NR_BWP_t
genericParameters
=
BWP_list
->
list
.
array
[
i
]
->
bwp_Common
->
genericParameters
;
int
curr_bw
=
NRRIV2BW
(
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
if
(
curr_bw
>
bw
)
bw
=
curr_bw
;
}
if
(
servingCellConfig
->
downlinkBWP_ToAddModList
)
{
const
struct
NR_ServingCellConfig__downlinkBWP_ToAddModList
*
BWP_list
=
servingCellConfig
->
downlinkBWP_ToAddModList
;
for
(
int
i
=
0
;
i
<
BWP_list
->
list
.
count
;
i
++
)
{
NR_BWP_t
genericParameters
=
BWP_list
->
list
.
array
[
i
]
->
bwp_Common
->
genericParameters
;
int
curr_bw
=
NRRIV2BW
(
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
if
(
curr_bw
>
bw
)
bw
=
curr_bw
;
}
}
else
{
if
(
servingCellConfig
->
uplinkConfig
&&
servingCellConfig
->
uplinkConfig
->
uplinkBWP_ToAddModList
)
{
const
struct
NR_UplinkConfig__uplinkBWP_ToAddModList
*
BWP_list
=
servingCellConfig
->
uplinkConfig
->
uplinkBWP_ToAddModList
;
for
(
int
i
=
0
;
i
<
BWP_list
->
list
.
count
;
i
++
)
{
NR_BWP_t
genericParameters
=
BWP_list
->
list
.
array
[
i
]
->
bwp_Common
->
genericParameters
;
int
curr_bw
=
NRRIV2BW
(
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
if
(
curr_bw
>
bw
)
bw
=
curr_bw
;
}
}
return
bw
;
}
int
get_ulbw_tbslbrm
(
int
scc_bwpsize
,
NR_CellGroupConfig_t
*
cg
)
{
int
bw
=
scc_bwpsize
;
if
(
cg
&&
cg
->
spCellConfig
&&
cg
->
spCellConfig
->
spCellConfigDedicated
)
{
const
NR_ServingCellConfig_t
*
servingCellConfig
=
cg
->
spCellConfig
->
spCellConfigDedicated
;
if
(
servingCellConfig
->
uplinkConfig
&&
servingCellConfig
->
uplinkConfig
->
uplinkBWP_ToAddModList
)
{
const
struct
NR_UplinkConfig__uplinkBWP_ToAddModList
*
BWP_list
=
servingCellConfig
->
uplinkConfig
->
uplinkBWP_ToAddModList
;
for
(
int
i
=
0
;
i
<
BWP_list
->
list
.
count
;
i
++
)
{
NR_BWP_t
genericParameters
=
BWP_list
->
list
.
array
[
i
]
->
bwp_Common
->
genericParameters
;
int
curr_bw
=
NRRIV2BW
(
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
if
(
curr_bw
>
bw
)
bw
=
curr_bw
;
}
}
}
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
View file @
cf6ac388
...
...
@@ -142,9 +142,11 @@ uint32_t nr_get_code_rate_ul(uint8_t Imcs, uint8_t table_idx);
uint16_t
get_nr_srs_offset
(
NR_SRS_PeriodicityAndOffset_t
periodicityAndOffset
);
int
get_bw_tbslbrm
(
int
scc_bwpsize
,
bool
is_dl
,
NR_CellGroupConfig_t
*
cg
);
int
get_dlbw_tbslbrm
(
int
scc_bwpsize
,
NR_CellGroupConfig_t
*
cg
);
int
get_ulbw_tbslbrm
(
int
scc_bwpsize
,
NR_CellGroupConfig_t
*
cg
);
uint32_t
nr_compute_tbslbrm
(
uint16_t
table
,
uint16_t
nb_rb
,
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
cf6ac388
...
...
@@ -965,7 +965,7 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
NR_BWP_t
genericParameters
=
mac
->
scc
?
mac
->
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
:
mac
->
scc_SIB
->
downlinkConfigCommon
.
initialDownlinkBWP
.
genericParameters
;
int
BWPSize
=
NRRIV2BW
(
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
bw_tbslbrm
=
get_
bw_tbslbrm
(
BWPSize
,
tru
e
,
mac
->
cg
);
bw_tbslbrm
=
get_
dlbw_tbslbrm
(
BWPSiz
e
,
mac
->
cg
);
}
else
bw_tbslbrm
=
dlsch_config_pdu_1_0
->
BWPSize
;
...
...
@@ -1406,7 +1406,7 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
NR_BWP_t
genericParameters
=
mac
->
scc
?
mac
->
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
:
mac
->
scc_SIB
->
downlinkConfigCommon
.
initialDownlinkBWP
.
genericParameters
;
int
BWPSize
=
NRRIV2BW
(
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
int
bw_tbslbrm
=
get_
bw_tbslbrm
(
BWPSize
,
tru
e
,
mac
->
cg
);
int
bw_tbslbrm
=
get_
dlbw_tbslbrm
(
BWPSiz
e
,
mac
->
cg
);
dlsch_config_pdu_1_1
->
tbslbrm
=
nr_compute_tbslbrm
(
dlsch_config_pdu_1_1
->
mcs_table
,
bw_tbslbrm
,
nl_tbslbrm
);
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
cf6ac388
...
...
@@ -878,10 +878,11 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
if
(
mac
->
scc
||
mac
->
scc_SIB
||
mac
->
cg
)
{
NR_BWP_t
genericParameters
=
initialUplinkBWP
->
genericParameters
;
int
BWPSize
=
NRRIV2BW
(
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
bw_tbslbrm
=
get_
bw_tbslbrm
(
BWPSize
,
fals
e
,
mac
->
cg
);
bw_tbslbrm
=
get_
ulbw_tbslbrm
(
BWPSiz
e
,
mac
->
cg
);
}
else
else
{
bw_tbslbrm
=
pusch_config_pdu
->
bwp_size
;
}
pusch_config_pdu
->
tbslbrm
=
nr_compute_tbslbrm
(
pusch_config_pdu
->
mcs_table
,
bw_tbslbrm
,
*
maxMIMO_Layers
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
cf6ac388
...
...
@@ -1318,7 +1318,7 @@ void nr_generate_Msg2(module_id_t module_idP, int CC_id, frame_t frameP, sub_fra
}
int
scc_bwpsize
=
NRRIV2BW
(
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
int
bw_tbslbrm
=
get_
bw_tbslbrm
(
scc_bwpsize
,
tru
e
,
ra
->
CellGroup
);
int
bw_tbslbrm
=
get_
dlbw_tbslbrm
(
scc_bwpsiz
e
,
ra
->
CellGroup
);
pdsch_pdu_rel15
->
maintenance_parms_v3
.
tbSizeLbrmBytes
=
nr_compute_tbslbrm
(
mcsTableIdx
,
bw_tbslbrm
,
1
);
...
...
@@ -1699,7 +1699,7 @@ void nr_generate_Msg4(module_id_t module_idP, int CC_id, frame_t frameP, sub_fra
nr_get_tbs_dl
(
&
dl_tti_pdsch_pdu
->
pdsch_pdu
,
x_Overhead
,
pdsch_pdu_rel15
->
numDmrsCdmGrpsNoData
,
tb_scaling
);
int
scc_bwpsize
=
NRRIV2BW
(
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
int
bw_tbslbrm
=
get_
bw_tbslbrm
(
scc_bwpsize
,
tru
e
,
ra
->
CellGroup
);
int
bw_tbslbrm
=
get_
dlbw_tbslbrm
(
scc_bwpsiz
e
,
ra
->
CellGroup
);
pdsch_pdu_rel15
->
maintenance_parms_v3
.
tbSizeLbrmBytes
=
nr_compute_tbslbrm
(
mcsTableIdx
,
bw_tbslbrm
,
1
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
cf6ac388
...
...
@@ -1056,7 +1056,7 @@ void nr_schedule_ue_spec(module_id_t module_id,
int
nl_tbslbrm
=
*
maxMIMO_Layers
<
4
?
*
maxMIMO_Layers
:
4
;
// Maximum number of PRBs across all configured DL BWPs
int
scc_bwpsize
=
NRRIV2BW
(
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
int
bw_tbslbrm
=
get_
bw_tbslbrm
(
scc_bwpsize
,
tru
e
,
cg
);
int
bw_tbslbrm
=
get_
dlbw_tbslbrm
(
scc_bwpsiz
e
,
cg
);
pdsch_pdu
->
maintenance_parms_v3
.
tbSizeLbrmBytes
=
nr_compute_tbslbrm
(
current_BWP
->
mcsTableIdx
,
bw_tbslbrm
,
nl_tbslbrm
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
cf6ac388
...
...
@@ -2218,9 +2218,8 @@ void configure_UE_BWP(gNB_MAC_INST *nr_mac,
const
NR_ServingCellConfig_t
*
servingCellConfig
=
CellGroup
->
spCellConfig
->
spCellConfigDedicated
;
DL_BWP
->
pdsch_servingcellconfig
=
servingCellConfig
->
pdsch_ServingCellConfig
?
servingCellConfig
->
pdsch_ServingCellConfig
->
choice
.
setup
:
NULL
;
UL_BWP
->
pusch_servingcellconfig
=
servingCellConfig
->
uplinkConfig
?
(
servingCellConfig
->
uplinkConfig
->
pusch_ServingCellConfig
?
servingCellConfig
->
uplinkConfig
->
pusch_ServingCellConfig
->
choice
.
setup
:
NULL
)
:
NULL
;
UL_BWP
->
pusch_servingcellconfig
=
servingCellConfig
->
uplinkConfig
&&
servingCellConfig
->
uplinkConfig
->
pusch_ServingCellConfig
?
servingCellConfig
->
uplinkConfig
->
pusch_ServingCellConfig
->
choice
.
setup
:
NULL
;
target_ss
=
NR_SearchSpace__searchSpaceType_PR_ue_Specific
;
if
(
UE
&&
UE
->
Msg3_dcch_dtch
)
{
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
cf6ac388
...
...
@@ -1691,7 +1691,7 @@ void nr_schedule_ulsch(module_id_t module_id, frame_t frame, sub_frame_t slot)
maxMIMO_Layers
=
current_BWP
->
pusch_Config
->
maxRank
;
AssertFatal
(
maxMIMO_Layers
!=
NULL
,
"Option with max MIMO layers not configured is not supported
\n
"
);
const
int
scc_bwpsize
=
NRRIV2BW
(
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
int
bw_tbslbrm
=
get_
bw_tbslbrm
(
scc_bwpsize
,
fals
e
,
cg
);
int
bw_tbslbrm
=
get_
ulbw_tbslbrm
(
scc_bwpsiz
e
,
cg
);
pusch_pdu
->
maintenance_parms_v3
.
tbSizeLbrmBytes
=
nr_compute_tbslbrm
(
current_BWP
->
mcs_table
,
bw_tbslbrm
,
*
maxMIMO_Layers
);
...
...
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