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
cfe6f0d6
Commit
cfe6f0d6
authored
Oct 08, 2021
by
rmagueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Improve get_coreset to handle also coreset0
parent
ba442f55
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
20 additions
and
28 deletions
+20
-28
openair1/SIMULATION/NR_PHY/dlsim.c
openair1/SIMULATION/NR_PHY/dlsim.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/config.c
openair2/LAYER2/NR_MAC_gNB/config.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+3
-11
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+1
-5
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+12
-9
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+2
-1
No files found.
openair1/SIMULATION/NR_PHY/dlsim.c
View file @
cfe6f0d6
...
@@ -262,7 +262,7 @@ void nr_dlsim_preprocessor(module_id_t module_id,
...
@@ -262,7 +262,7 @@ void nr_dlsim_preprocessor(module_id_t module_id,
find_aggregation_candidates
(
&
sched_ctrl
->
aggregation_level
,
find_aggregation_candidates
(
&
sched_ctrl
->
aggregation_level
,
&
nr_of_candidates
,
&
nr_of_candidates
,
sched_ctrl
->
search_space
,
4
);
sched_ctrl
->
search_space
,
4
);
sched_ctrl
->
coreset
=
get_coreset
(
scc
,
sched_ctrl
->
active_bwp
->
bwp_Dedicated
,
sched_ctrl
->
search_space
,
target_ss
);
sched_ctrl
->
coreset
=
get_coreset
(
module_id
,
scc
,
sched_ctrl
->
active_bwp
->
bwp_Dedicated
,
sched_ctrl
->
search_space
,
target_ss
);
sched_ctrl
->
cce_index
=
0
;
sched_ctrl
->
cce_index
=
0
;
NR_pdsch_semi_static_t
*
ps
=
&
sched_ctrl
->
pdsch_semi_static
;
NR_pdsch_semi_static_t
*
ps
=
&
sched_ctrl
->
pdsch_semi_static
;
...
...
openair2/LAYER2/NR_MAC_gNB/config.c
View file @
cfe6f0d6
...
@@ -624,7 +624,7 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
...
@@ -624,7 +624,7 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
bwpd
=
(
void
*
)
CellGroup
->
spCellConfig
->
spCellConfigDedicated
->
initialDownlinkBWP
;
bwpd
=
(
void
*
)
CellGroup
->
spCellConfig
->
spCellConfigDedicated
->
initialDownlinkBWP
;
}
}
UE_info
->
UE_sched_ctrl
[
UE_id
].
search_space
=
get_searchspace
(
scc
,
bwpd
,
target_ss
);
UE_info
->
UE_sched_ctrl
[
UE_id
].
search_space
=
get_searchspace
(
scc
,
bwpd
,
target_ss
);
UE_info
->
UE_sched_ctrl
[
UE_id
].
coreset
=
get_coreset
(
scc
,
bwpd
,
UE_info
->
UE_sched_ctrl
[
UE_id
].
search_space
,
target_ss
);
UE_info
->
UE_sched_ctrl
[
UE_id
].
coreset
=
get_coreset
(
Mod_idP
,
scc
,
bwpd
,
UE_info
->
UE_sched_ctrl
[
UE_id
].
search_space
,
target_ss
);
UE_info
->
UE_sched_ctrl
[
UE_id
].
maxL
=
2
;
UE_info
->
UE_sched_ctrl
[
UE_id
].
maxL
=
2
;
}
}
}
}
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
cfe6f0d6
...
@@ -772,10 +772,8 @@ void nr_generate_Msg3_retransmission(module_id_t module_idP, int CC_id, frame_t
...
@@ -772,10 +772,8 @@ void nr_generate_Msg3_retransmission(module_id_t module_idP, int CC_id, frame_t
// generation of DCI 0_0 to schedule msg3 retransmission
// generation of DCI 0_0 to schedule msg3 retransmission
NR_SearchSpace_t
*
ss
=
ra
->
ra_ss
;
NR_SearchSpace_t
*
ss
=
ra
->
ra_ss
;
NR_ControlResourceSet_t
*
coreset
=
NULL
;
NR_Type0_PDCCH_CSS_config_t
*
type0_PDCCH_CSS_config
=
*
ss
->
controlResourceSetId
==
0
?
&
nr_mac
->
type0_PDCCH_CSS_config
[
ra
->
beam_id
]
:
NULL
;
NR_Type0_PDCCH_CSS_config_t
*
type0_PDCCH_CSS_config
=
*
ss
->
controlResourceSetId
==
0
?
&
nr_mac
->
type0_PDCCH_CSS_config
[
ra
->
beam_id
]
:
NULL
;
NR_ControlResourceSet_t
*
coreset
=
get_coreset
(
module_idP
,
scc
,
NULL
,
ss
,
NR_SearchSpace__searchSpaceType_PR_common
);
coreset
=
nr_mac
->
sched_ctrlCommon
->
coreset
;
// this is coreset 0
AssertFatal
(
coreset
!=
NULL
,
"Coreset cannot be null for RA-Msg3 retransmission
\n
"
);
AssertFatal
(
coreset
!=
NULL
,
"Coreset cannot be null for RA-Msg3 retransmission
\n
"
);
nfapi_nr_ul_dci_request_t
*
ul_dci_req
=
&
nr_mac
->
UL_dci_req
[
CC_id
];
nfapi_nr_ul_dci_request_t
*
ul_dci_req
=
&
nr_mac
->
UL_dci_req
[
CC_id
];
...
@@ -1146,10 +1144,7 @@ void nr_generate_Msg2(module_id_t module_idP, int CC_id, frame_t frameP, sub_fra
...
@@ -1146,10 +1144,7 @@ void nr_generate_Msg2(module_id_t module_idP, int CC_id, frame_t frameP, sub_fra
BWPSize
=
type0_PDCCH_CSS_config
->
num_rbs
;
BWPSize
=
type0_PDCCH_CSS_config
->
num_rbs
;
}
}
if
(
*
ss
->
controlResourceSetId
==
0
)
coreset
=
get_coreset
(
module_idP
,
scc
,
bwp
,
ss
,
NR_SearchSpace__searchSpaceType_PR_common
);
coreset
=
nr_mac
->
sched_ctrlCommon
->
coreset
;
// this is coreset 0
else
coreset
=
get_coreset
(
scc
,
bwp
,
ss
,
NR_SearchSpace__searchSpaceType_PR_common
);
AssertFatal
(
coreset
!=
NULL
,
"Coreset cannot be null for RA-Msg2
\n
"
);
AssertFatal
(
coreset
!=
NULL
,
"Coreset cannot be null for RA-Msg2
\n
"
);
...
@@ -1409,10 +1404,7 @@ void nr_generate_Msg4(module_id_t module_idP, int CC_id, frame_t frameP, sub_fra
...
@@ -1409,10 +1404,7 @@ void nr_generate_Msg4(module_id_t module_idP, int CC_id, frame_t frameP, sub_fra
pdsch_TimeDomainAllocationList
=
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
pdsch_ConfigCommon
->
choice
.
setup
->
pdsch_TimeDomainAllocationList
;
pdsch_TimeDomainAllocationList
=
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
pdsch_ConfigCommon
->
choice
.
setup
->
pdsch_TimeDomainAllocationList
;
}
}
if
(
*
ss
->
controlResourceSetId
==
0
)
coreset
=
get_coreset
(
module_idP
,
scc
,
bwp
,
ss
,
NR_SearchSpace__searchSpaceType_PR_common
);
coreset
=
nr_mac
->
sched_ctrlCommon
->
coreset
;
// this is coreset 0
else
coreset
=
get_coreset
(
scc
,
bwp
,
ss
,
NR_SearchSpace__searchSpaceType_PR_common
);
AssertFatal
(
coreset
!=
NULL
,
"Coreset cannot be null for RA-Msg4
\n
"
);
AssertFatal
(
coreset
!=
NULL
,
"Coreset cannot be null for RA-Msg4
\n
"
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
cfe6f0d6
...
@@ -78,11 +78,7 @@ void calculate_preferred_dl_tda(module_id_t module_id, const NR_BWP_Downlink_t *
...
@@ -78,11 +78,7 @@ void calculate_preferred_dl_tda(module_id_t module_id, const NR_BWP_Downlink_t *
target_ss
=
NR_SearchSpace__searchSpaceType_PR_common
;
target_ss
=
NR_SearchSpace__searchSpaceType_PR_common
;
}
}
NR_SearchSpace_t
*
search_space
=
get_searchspace
(
scc
,
bwp
?
bwp
->
bwp_Dedicated
:
NULL
,
target_ss
);
NR_SearchSpace_t
*
search_space
=
get_searchspace
(
scc
,
bwp
?
bwp
->
bwp_Dedicated
:
NULL
,
target_ss
);
NR_ControlResourceSet_t
*
coreset
;
NR_ControlResourceSet_t
*
coreset
=
get_coreset
(
module_id
,
scc
,
bwp
?
bwp
->
bwp_Dedicated
:
NULL
,
search_space
,
target_ss
);
if
(
*
search_space
->
controlResourceSetId
==
0
)
coreset
=
nrmac
->
sched_ctrlCommon
->
coreset
;
// this is coreset 0
else
coreset
=
get_coreset
(
scc
,
bwp
?
bwp
->
bwp_Dedicated
:
NULL
,
search_space
,
target_ss
);
// get coreset symbol "map"
// get coreset symbol "map"
const
uint16_t
symb_coreset
=
(
1
<<
coreset
->
duration
)
-
1
;
const
uint16_t
symb_coreset
=
(
1
<<
coreset
->
duration
)
-
1
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
cfe6f0d6
...
@@ -153,17 +153,23 @@ void set_dl_dmrs_ports(NR_pdsch_semi_static_t *ps) {
...
@@ -153,17 +153,23 @@ void set_dl_dmrs_ports(NR_pdsch_semi_static_t *ps) {
}
}
}
}
NR_ControlResourceSet_t
*
get_coreset
(
NR_ServingCellConfigCommon_t
*
scc
,
NR_ControlResourceSet_t
*
get_coreset
(
module_id_t
module_idP
,
NR_ServingCellConfigCommon_t
*
scc
,
void
*
bwp
,
void
*
bwp
,
NR_SearchSpace_t
*
ss
,
NR_SearchSpace_t
*
ss
,
NR_SearchSpace__searchSpaceType_PR
ss_type
)
{
NR_SearchSpace__searchSpaceType_PR
ss_type
)
{
NR_ControlResourceSetId_t
coreset_id
=
*
ss
->
controlResourceSetId
;
NR_ControlResourceSetId_t
coreset_id
=
*
ss
->
controlResourceSetId
;
if
(
ss_type
==
NR_SearchSpace__searchSpaceType_PR_common
)
{
// common search space
if
(
ss_type
==
NR_SearchSpace__searchSpaceType_PR_common
)
{
// common search space
NR_ControlResourceSet_t
*
coreset
;
NR_ControlResourceSet_t
*
coreset
;
if
(
bwp
)
coreset
=
((
NR_BWP_Downlink_t
*
)
bwp
)
->
bwp_Common
->
pdcch_ConfigCommon
->
choice
.
setup
->
commonControlResourceSet
;
if
(
coreset_id
==
0
)
{
else
if
(
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
pdcch_ConfigCommon
->
choice
.
setup
->
commonControlResourceSet
)
coreset
=
RC
.
nrmac
[
module_idP
]
->
sched_ctrlCommon
->
coreset
;
// this is coreset 0
}
else
if
(
bwp
)
{
coreset
=
((
NR_BWP_Downlink_t
*
)
bwp
)
->
bwp_Common
->
pdcch_ConfigCommon
->
choice
.
setup
->
commonControlResourceSet
;
}
else
if
(
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
pdcch_ConfigCommon
->
choice
.
setup
->
commonControlResourceSet
)
{
coreset
=
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
pdcch_ConfigCommon
->
choice
.
setup
->
commonControlResourceSet
;
coreset
=
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
pdcch_ConfigCommon
->
choice
.
setup
->
commonControlResourceSet
;
else
coreset
=
NULL
;
}
else
{
coreset
=
NULL
;
}
if
(
coreset
)
AssertFatal
(
coreset_id
==
coreset
->
controlResourceSetId
,
if
(
coreset
)
AssertFatal
(
coreset_id
==
coreset
->
controlResourceSetId
,
"ID of common ss coreset does not correspond to id set in the "
"ID of common ss coreset does not correspond to id set in the "
...
@@ -1960,12 +1966,9 @@ int add_new_nr_ue(module_id_t mod_idP, rnti_t rntiP, NR_CellGroupConfig_t *CellG
...
@@ -1960,12 +1966,9 @@ int add_new_nr_ue(module_id_t mod_idP, rnti_t rntiP, NR_CellGroupConfig_t *CellG
sched_ctrl
->
search_space
=
get_searchspace
(
scc
,
sched_ctrl
->
search_space
=
get_searchspace
(
scc
,
sched_ctrl
->
active_bwp
?
sched_ctrl
->
active_bwp
->
bwp_Dedicated
:
NULL
,
sched_ctrl
->
active_bwp
?
sched_ctrl
->
active_bwp
->
bwp_Dedicated
:
NULL
,
target_ss
);
target_ss
);
if
(
*
sched_ctrl
->
search_space
->
controlResourceSetId
==
0
)
sched_ctrl
->
coreset
=
get_coreset
(
mod_idP
,
scc
,
sched_ctrl
->
coreset
=
RC
.
nrmac
[
mod_idP
]
->
sched_ctrlCommon
->
coreset
;
// this is coreset 0
else
sched_ctrl
->
coreset
=
get_coreset
(
scc
,
sched_ctrl
->
active_bwp
?
(
void
*
)
sched_ctrl
->
active_bwp
->
bwp_Dedicated
:
NULL
,
sched_ctrl
->
active_bwp
?
(
void
*
)
sched_ctrl
->
active_bwp
->
bwp_Dedicated
:
NULL
,
sched_ctrl
->
search_space
,
target_ss
);
sched_ctrl
->
search_space
,
target_ss
);
const
struct
NR_UplinkConfig__uplinkBWP_ToAddModList
*
ubwpList
=
servingCellConfig
?
servingCellConfig
->
uplinkConfig
->
uplinkBWP_ToAddModList
:
NULL
;
const
struct
NR_UplinkConfig__uplinkBWP_ToAddModList
*
ubwpList
=
servingCellConfig
?
servingCellConfig
->
uplinkConfig
->
uplinkBWP_ToAddModList
:
NULL
;
if
(
ubwpList
)
AssertFatal
(
ubwpList
->
list
.
count
==
1
,
if
(
ubwpList
)
AssertFatal
(
ubwpList
->
list
.
count
==
1
,
"uplinkBWP_ToAddModList has %d BWP!
\n
"
,
"uplinkBWP_ToAddModList has %d BWP!
\n
"
,
...
...
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
cfe6f0d6
...
@@ -272,7 +272,8 @@ void prepare_dci(const NR_CellGroupConfig_t *CellGroup,
...
@@ -272,7 +272,8 @@ void prepare_dci(const NR_CellGroupConfig_t *CellGroup,
int
bwp_id
);
int
bwp_id
);
/* find coreset within the search space */
/* find coreset within the search space */
NR_ControlResourceSet_t
*
get_coreset
(
NR_ServingCellConfigCommon_t
*
scc
,
NR_ControlResourceSet_t
*
get_coreset
(
module_id_t
module_idP
,
NR_ServingCellConfigCommon_t
*
scc
,
void
*
bwp
,
void
*
bwp
,
NR_SearchSpace_t
*
ss
,
NR_SearchSpace_t
*
ss
,
NR_SearchSpace__searchSpaceType_PR
ss_type
);
NR_SearchSpace__searchSpaceType_PR
ss_type
);
...
...
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