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
09291bd3
Commit
09291bd3
authored
Apr 13, 2020
by
Francesco Mani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
reworking of nr_configure_pdcch
parent
7ea0b007
Changes
5
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
188 additions
and
111 deletions
+188
-111
openair1/PHY/NR_TRANSPORT/nr_dci.c
openair1/PHY/NR_TRANSPORT/nr_dci.c
+0
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
+60
-42
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+115
-64
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+12
-3
openair2/RRC/NR/rrc_gNB_reconfig.c
openair2/RRC/NR/rrc_gNB_reconfig.c
+1
-1
No files found.
openair1/PHY/NR_TRANSPORT/nr_dci.c
View file @
09291bd3
...
@@ -230,7 +230,6 @@ uint8_t nr_generate_dci_top(nfapi_nr_dl_tti_pdcch_pdu *pdcch_pdu,
...
@@ -230,7 +230,6 @@ uint8_t nr_generate_dci_top(nfapi_nr_dl_tti_pdcch_pdu *pdcch_pdu,
uint32_t
encoder_output
[
NR_MAX_DCI_SIZE_DWORD
];
uint32_t
encoder_output
[
NR_MAX_DCI_SIZE_DWORD
];
uint16_t
n_RNTI
=
pdcch_pdu_rel15
->
RNTI
[
d
];
uint16_t
n_RNTI
=
pdcch_pdu_rel15
->
RNTI
[
d
];
uint16_t
Nid
=
pdcch_pdu_rel15
->
ScramblingId
[
d
];
uint16_t
Nid
=
pdcch_pdu_rel15
->
ScramblingId
[
d
];
t_nrPolar_params
*
currentPtr
=
nr_polar_params
(
NR_POLAR_DCI_MESSAGE_TYPE
,
t_nrPolar_params
*
currentPtr
=
nr_polar_params
(
NR_POLAR_DCI_MESSAGE_TYPE
,
pdcch_pdu_rel15
->
PayloadSizeBits
[
d
],
pdcch_pdu_rel15
->
PayloadSizeBits
[
d
],
pdcch_pdu_rel15
->
AggregationLevel
[
d
],
pdcch_pdu_rel15
->
AggregationLevel
[
d
],
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
View file @
09291bd3
...
@@ -251,7 +251,6 @@ void nr_schedule_css_dlsch_phytest(module_id_t module_idP,
...
@@ -251,7 +251,6 @@ void nr_schedule_css_dlsch_phytest(module_id_t module_idP,
int
configure_fapi_dl_pdu
(
int
Mod_idP
,
int
configure_fapi_dl_pdu
(
int
Mod_idP
,
int
*
CCEIndex
,
nfapi_nr_dl_tti_request_body_t
*
dl_req
,
nfapi_nr_dl_tti_request_body_t
*
dl_req
,
NR_sched_pucch
*
pucch_sched
,
NR_sched_pucch
*
pucch_sched
,
uint8_t
*
mcsIndex
,
uint8_t
*
mcsIndex
,
...
@@ -388,22 +387,42 @@ int configure_fapi_dl_pdu(int Mod_idP,
...
@@ -388,22 +387,42 @@ int configure_fapi_dl_pdu(int Mod_idP,
dci_pdu_rel15
[
0
].
ndi
,
dci_pdu_rel15
[
0
].
ndi
,
dci_pdu_rel15
[
0
].
rv
);
dci_pdu_rel15
[
0
].
rv
);
nr_configure_pdcch
(
pdcch_pdu_rel15
,
NR_SearchSpace_t
*
ss
;
1
,
// ue-specific
int
target_ss
=
NR_SearchSpace__searchSpaceType_PR_ue_Specific
;
AssertFatal
(
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
!=
NULL
,
"searchPsacesToAddModList is null
\n
"
);
AssertFatal
(
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
->
list
.
count
>
0
,
"searchPsacesToAddModList is empty
\n
"
);
int
found
=
0
;
for
(
int
i
=
0
;
i
<
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
->
list
.
count
;
i
++
)
{
ss
=
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
->
list
.
array
[
i
];
AssertFatal
(
ss
->
controlResourceSetId
!=
NULL
,
"ss->controlResourceSetId is null
\n
"
);
AssertFatal
(
ss
->
searchSpaceType
!=
NULL
,
"ss->searchSpaceType is null
\n
"
);
if
(
ss
->
searchSpaceType
->
present
==
target_ss
)
{
found
=
1
;
break
;
}
}
AssertFatal
(
found
==
1
,
"Couldn't find an adequate searchspace
\n
"
);
nr_configure_pdcch
(
nr_mac
,
pdcch_pdu_rel15
,
UE_list
->
rnti
[
UE_id
],
ss
,
scc
,
scc
,
bwp
);
bwp
);
pdcch_pdu_rel15
->
numDlDci
=
1
;
pdcch_pdu_rel15
->
AggregationLevel
[
0
]
=
4
;
pdcch_pdu_rel15
->
RNTI
[
0
]
=
UE_list
->
rnti
[
0
];
pdcch_pdu_rel15
->
CceIndex
[
0
]
=
CCEIndex
[
0
];
pdcch_pdu_rel15
->
beta_PDCCH_1_0
[
0
]
=
0
;
pdcch_pdu_rel15
->
powerControlOffsetSS
[
0
]
=
1
;
int
dci_formats
[
2
];
int
dci_formats
[
2
];
int
rnti_types
[
2
];
int
rnti_types
[
2
];
if
(
ss
->
searchSpaceType
->
choice
.
ue_Specific
->
dci_Formats
)
dci_formats
[
0
]
=
NR_DL_DCI_FORMAT_1_0
;
dci_formats
[
0
]
=
NR_DL_DCI_FORMAT_1_0
;
else
dci_formats
[
0
]
=
NR_DL_DCI_FORMAT_1_1
;
rnti_types
[
0
]
=
NR_RNTI_C
;
rnti_types
[
0
]
=
NR_RNTI_C
;
fill_dci_pdu_rel15
(
secondaryCellGroup
,
pdcch_pdu_rel15
,
dci_pdu_rel15
,
dci_formats
,
rnti_types
,
bwp_id
);
fill_dci_pdu_rel15
(
secondaryCellGroup
,
pdcch_pdu_rel15
,
dci_pdu_rel15
,
dci_formats
,
rnti_types
,
bwp_id
);
...
@@ -517,7 +536,7 @@ void nr_schedule_uss_dlsch_phytest(module_id_t module_idP,
...
@@ -517,7 +536,7 @@ void nr_schedule_uss_dlsch_phytest(module_id_t module_idP,
int
post_padding
=
0
,
ta_len
=
0
,
header_length_total
=
0
,
sdu_length_total
=
0
,
num_sdus
=
0
;
int
post_padding
=
0
,
ta_len
=
0
,
header_length_total
=
0
,
sdu_length_total
=
0
,
num_sdus
=
0
;
int
lcid
,
offset
,
i
,
header_length_last
,
TBS_bytes
;
int
lcid
,
offset
,
i
,
header_length_last
,
TBS_bytes
;
int
UE_id
=
0
,
CC
EIndex
=
-
1
,
CC
_id
=
0
;
int
UE_id
=
0
,
CC_id
=
0
;
gNB_MAC_INST
*
gNB_mac
=
RC
.
nrmac
[
module_idP
];
gNB_MAC_INST
*
gNB_mac
=
RC
.
nrmac
[
module_idP
];
//NR_COMMON_channels_t *cc = nr_mac->common_channels;
//NR_COMMON_channels_t *cc = nr_mac->common_channels;
...
@@ -541,22 +560,7 @@ void nr_schedule_uss_dlsch_phytest(module_id_t module_idP,
...
@@ -541,22 +560,7 @@ void nr_schedule_uss_dlsch_phytest(module_id_t module_idP,
ta_len
=
gNB_mac
->
ta_len
;
ta_len
=
gNB_mac
->
ta_len
;
CCEIndex
=
allocate_nr_CCEs
(
gNB_mac
,
1
,
// bwp_id
0
,
// coreset_id
4
,
// aggregation,
1
,
// search_space, 0 common, 1 ue-specific
UE_id
,
0
);
// m
if
(
CCEIndex
==
-
1
)
return
;
AssertFatal
(
CCEIndex
>
0
,
"CCEIndex is negative
\n
"
);
int
CCEIndices
[
2
];
CCEIndices
[
0
]
=
CCEIndex
;
TBS_bytes
=
configure_fapi_dl_pdu
(
module_idP
,
TBS_bytes
=
configure_fapi_dl_pdu
(
module_idP
,
CCEIndices
,
dl_req
,
dl_req
,
pucch_sched
,
pucch_sched
,
dlsch_config
!=
NULL
?
dlsch_config
->
mcsIndex
:
NULL
,
dlsch_config
!=
NULL
?
dlsch_config
->
mcsIndex
:
NULL
,
...
@@ -827,29 +831,43 @@ void nr_schedule_uss_ulsch_phytest(int Mod_idP,
...
@@ -827,29 +831,43 @@ void nr_schedule_uss_ulsch_phytest(int Mod_idP,
int
dci_formats
[
2
];
int
dci_formats
[
2
];
int
rnti_types
[
2
];
int
rnti_types
[
2
];
int
CCEIndex
=
allocate_nr_CCEs
(
nr_mac
,
NR_SearchSpace_t
*
ss
;
1
,
// bwp_id
int
target_ss
=
NR_SearchSpace__searchSpaceType_PR_ue_Specific
;
0
,
// coreset_id
4
,
// aggregation,
1
,
// search_space, 0 common, 1 ue-specific
UE_id
,
0
);
// m
AssertFatal
(
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
!=
NULL
,
"searchPsacesToAddModList is null
\n
"
);
AssertFatal
(
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
->
list
.
count
>
0
,
"searchPsacesToAddModList is empty
\n
"
);
int
found
=
0
;
for
(
int
i
=
0
;
i
<
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
->
list
.
count
;
i
++
)
{
ss
=
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
->
list
.
array
[
i
];
AssertFatal
(
ss
->
controlResourceSetId
!=
NULL
,
"ss->controlResourceSetId is null
\n
"
);
AssertFatal
(
ss
->
searchSpaceType
!=
NULL
,
"ss->searchSpaceType is null
\n
"
);
if
(
ss
->
searchSpaceType
->
present
==
target_ss
)
{
found
=
1
;
break
;
}
}
AssertFatal
(
found
==
1
,
"Couldn't find an adequate searchspace
\n
"
);
if
(
ss
->
searchSpaceType
->
choice
.
ue_Specific
->
dci_Formats
)
dci_formats
[
0
]
=
NR_UL_DCI_FORMAT_0_1
;
else
dci_formats
[
0
]
=
NR_UL_DCI_FORMAT_0_0
;
dci_formats
[
0
]
=
NR_UL_DCI_FORMAT_0_0
;
rnti_types
[
0
]
=
NR_RNTI_C
;
rnti_types
[
0
]
=
NR_RNTI_C
;
LOG_D
(
MAC
,
"Configuring ULDCI/PDCCH in %d.%d
\n
"
,
frameP
,
slotP
);
LOG_D
(
MAC
,
"Configuring ULDCI/PDCCH in %d.%d
\n
"
,
frameP
,
slotP
);
nr_configure_pdcch
(
pdcch_pdu_rel15
,
1
,
// ue-specific,
nr_configure_pdcch
(
nr_mac
,
pdcch_pdu_rel15
,
UE_list
->
rnti
[
UE_id
],
ss
,
scc
,
scc
,
bwp
);
bwp
);
dci_pdu_rel15_t
dci_pdu_rel15
[
MAX_DCI_CORESET
];
dci_pdu_rel15_t
dci_pdu_rel15
[
MAX_DCI_CORESET
];
AssertFatal
(
CCEIndex
>=
0
,
"CCEIndex is negative
\n
"
);
pdcch_pdu_rel15
->
CceIndex
[
pdcch_pdu_rel15
->
numDlDci
]
=
CCEIndex
;
LOG_D
(
PHY
,
"CCEIndex %d
\n
"
,
pdcch_pdu_rel15
->
CceIndex
[
pdcch_pdu_rel15
->
numDlDci
]);
config_uldci
(
ubwp
,
pusch_pdu
,
pdcch_pdu_rel15
,
&
dci_pdu_rel15
[
0
],
dci_formats
,
rnti_types
);
config_uldci
(
ubwp
,
pusch_pdu
,
pdcch_pdu_rel15
,
&
dci_pdu_rel15
[
0
],
dci_formats
,
rnti_types
);
fill_dci_pdu_rel15
(
secondaryCellGroup
,
pdcch_pdu_rel15
,
dci_pdu_rel15
,
dci_formats
,
rnti_types
,
bwp_id
);
fill_dci_pdu_rel15
(
secondaryCellGroup
,
pdcch_pdu_rel15
,
dci_pdu_rel15
,
dci_formats
,
rnti_types
,
bwp_id
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
09291bd3
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
09291bd3
...
@@ -83,7 +83,6 @@ void nr_schedule_css_dlsch_phytest(module_id_t module_idP,
...
@@ -83,7 +83,6 @@ void nr_schedule_css_dlsch_phytest(module_id_t module_idP,
sub_frame_t
subframeP
);
sub_frame_t
subframeP
);
int
configure_fapi_dl_pdu
(
int
Mod_id
,
int
configure_fapi_dl_pdu
(
int
Mod_id
,
int
*
CCEIndeces
,
nfapi_nr_dl_tti_request_body_t
*
dl_req
,
nfapi_nr_dl_tti_request_body_t
*
dl_req
,
NR_sched_pucch
*
pucch_sched
,
NR_sched_pucch
*
pucch_sched
,
uint8_t
*
mcsIndex
,
uint8_t
*
mcsIndex
,
...
@@ -149,8 +148,14 @@ void nr_configure_pucch(nfapi_nr_pucch_pdu_t* pucch_pdu,
...
@@ -149,8 +148,14 @@ void nr_configure_pucch(nfapi_nr_pucch_pdu_t* pucch_pdu,
uint16_t
O_ack
,
uint16_t
O_ack
,
uint8_t
SR_flag
);
uint8_t
SR_flag
);
void
nr_configure_pdcch
(
nfapi_nr_dl_tti_pdcch_pdu_rel15_t
*
pdcch_pdu
,
void
find_search_space
(
int
ss_type
,
int
ss_type
,
NR_BWP_Downlink_t
*
bwp
,
NR_SearchSpace_t
*
ss
);
void
nr_configure_pdcch
(
gNB_MAC_INST
*
nr_mac
,
nfapi_nr_dl_tti_pdcch_pdu_rel15_t
*
pdcch_pdu
,
uint16_t
rnti
,
NR_SearchSpace_t
*
ss
,
NR_ServingCellConfigCommon_t
*
scc
,
NR_ServingCellConfigCommon_t
*
scc
,
NR_BWP_Downlink_t
*
bwp
);
NR_BWP_Downlink_t
*
bwp
);
...
@@ -166,6 +171,10 @@ void prepare_dci(NR_CellGroupConfig_t *secondaryCellGroup,
...
@@ -166,6 +171,10 @@ void prepare_dci(NR_CellGroupConfig_t *secondaryCellGroup,
nr_dci_format_t
format
,
nr_dci_format_t
format
,
int
bwp_id
);
int
bwp_id
);
void
find_aggregation_candidates
(
uint8_t
*
aggregation_level
,
uint8_t
*
nr_of_candidates
,
NR_SearchSpace_t
*
ss
);
void
nr_configure_pucch
(
nfapi_nr_pucch_pdu_t
*
pucch_pdu
,
void
nr_configure_pucch
(
nfapi_nr_pucch_pdu_t
*
pucch_pdu
,
NR_ServingCellConfigCommon_t
*
scc
,
NR_ServingCellConfigCommon_t
*
scc
,
NR_BWP_Uplink_t
*
bwp
,
NR_BWP_Uplink_t
*
bwp
,
...
...
openair2/RRC/NR/rrc_gNB_reconfig.c
View file @
09291bd3
...
@@ -555,7 +555,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
...
@@ -555,7 +555,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
ss2
->
searchSpaceType
=
calloc
(
1
,
sizeof
(
*
ss2
->
searchSpaceType
));
ss2
->
searchSpaceType
=
calloc
(
1
,
sizeof
(
*
ss2
->
searchSpaceType
));
ss2
->
searchSpaceType
->
present
=
NR_SearchSpace__searchSpaceType_PR_ue_Specific
;
ss2
->
searchSpaceType
->
present
=
NR_SearchSpace__searchSpaceType_PR_ue_Specific
;
ss2
->
searchSpaceType
->
choice
.
ue_Specific
=
calloc
(
1
,
sizeof
(
*
ss2
->
searchSpaceType
->
choice
.
ue_Specific
));
ss2
->
searchSpaceType
->
choice
.
ue_Specific
=
calloc
(
1
,
sizeof
(
*
ss2
->
searchSpaceType
->
choice
.
ue_Specific
));
ss2
->
searchSpaceType
->
choice
.
ue_Specific
->
dci_Formats
=
NR_SearchSpace__searchSpaceType__ue_Specific__dci_Formats_formats0_
0_And_1_0
;
ss2
->
searchSpaceType
->
choice
.
ue_Specific
->
dci_Formats
=
NR_SearchSpace__searchSpaceType__ue_Specific__dci_Formats_formats0_
1_And_1_1
;
ASN_SEQUENCE_ADD
(
&
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
->
list
,
ASN_SEQUENCE_ADD
(
&
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
searchSpacesToAddModList
->
list
,
ss3
);
ss3
);
...
...
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