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
f71f8b5a
Commit
f71f8b5a
authored
Sep 12, 2022
by
Roberto Louro Magueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removing NR_CellGroupConfig_t *cg input from config_uldci() function
parent
e4f7733b
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
25 additions
and
38 deletions
+25
-38
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
+23
-24
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+0
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+1
-10
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+0
-1
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+0
-1
No files found.
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
View file @
f71f8b5a
...
...
@@ -2728,12 +2728,13 @@ uint8_t get_pusch_nb_antenna_ports(NR_PUSCH_Config_t *pusch_Config,
return
n_antenna_port
;
}
//#define DEBUG_SRS_RESOURCE_IND
uint8_t
compute_srs_resource_indicator
(
NR_
UplinkConfig_t
*
uplinkC
onfig
,
//
#define DEBUG_SRS_RESOURCE_IND
uint8_t
compute_srs_resource_indicator
(
NR_
PUSCH_ServingCellConfig_t
*
pusch_servingcellc
onfig
,
NR_PUSCH_Config_t
*
pusch_Config
,
NR_SRS_Config_t
*
srs_config
,
nr_srs_feedback_t
*
srs_feedback
,
uint16_t
*
val
)
{
uint16_t
*
val
)
{
uint8_t
nbits
=
0
;
// SRI occupies a number of bits which is dependent upon the uplink transmission scheme, and it is used to determine
...
...
@@ -2793,19 +2794,19 @@ uint8_t compute_srs_resource_indicator(NR_UplinkConfig_t *uplinkConfig,
// - otherwise, Lmax is given by the maximum number of layers for PUSCH supported by the UE for the serving cell
// for non-codebook based operation.
int
Lmax
=
0
;
if
(
uplinkConfig
&&
uplinkConfig
->
pusch_ServingCellC
onfig
!=
NULL
)
{
if
(
uplinkConfig
->
pusch_ServingCellConfig
->
choice
.
setup
->
ext1
->
maxMIMO_Layers
!=
NULL
)
{
Lmax
=
*
uplinkConfig
->
pusch_ServingCellConfig
->
choice
.
setup
->
ext1
->
maxMIMO_Layers
;
if
(
pusch_servingcellc
onfig
!=
NULL
)
{
if
(
pusch_servingcellconfig
->
ext1
->
maxMIMO_Layers
!=
NULL
)
{
Lmax
=
*
pusch_servingcellconfig
->
ext1
->
maxMIMO_Layers
;
}
else
{
AssertFatal
(
1
==
0
,
"MIMO on PUSCH not supported, maxMIMO_Layers needs to be set to 1
\n
"
);
AssertFatal
(
1
==
0
,
"MIMO on PUSCH not supported, maxMIMO_Layers needs to be set to 1
\n
"
);
}
}
else
{
AssertFatal
(
1
==
0
,
"MIMO on PUSCH not supported, maxMIMO_Layers needs to be set to 1
\n
"
);
AssertFatal
(
1
==
0
,
"MIMO on PUSCH not supported, maxMIMO_Layers needs to be set to 1
\n
"
);
}
int
lmin
=
0
;
int
lsum
=
0
;
int
count
=
0
;
for
(
int
i
=
0
;
i
<
srs_config
->
srs_ResourceSetToAddModList
->
list
.
count
;
i
++
)
{
for
(
int
i
=
0
;
i
<
srs_config
->
srs_ResourceSetToAddModList
->
list
.
count
;
i
++
)
{
if
(
srs_config
->
srs_ResourceSetToAddModList
->
list
.
array
[
i
]
->
usage
==
NR_SRS_ResourceSet__usage_nonCodebook
)
{
count
++
;
}
...
...
@@ -3222,37 +3223,35 @@ uint16_t nr_dci_size(const NR_BWP_DownlinkCommon_t *initialDownlinkBWP,
size
+=
1
;
}
// 1st DAI
if
(
cg
->
physicalCellGroupConfig
&&
cg
->
physicalCellGroupConfig
->
pdsch_HARQ_ACK_Codebook
==
NR_PhysicalCellGroupConfig__pdsch_HARQ_ACK_Codebook_dynamic
)
if
(
cg
->
physicalCellGroupConfig
&&
cg
->
physicalCellGroupConfig
->
pdsch_HARQ_ACK_Codebook
==
NR_PhysicalCellGroupConfig__pdsch_HARQ_ACK_Codebook_dynamic
)
dci_pdu
->
dai
[
0
].
nbits
=
2
;
else
dci_pdu
->
dai
[
0
].
nbits
=
1
;
size
+=
dci_pdu
->
dai
[
0
].
nbits
;
LOG_D
(
NR_MAC
,
"DAI1 nbits %d
\n
"
,
dci_pdu
->
dai
[
0
].
nbits
);
LOG_D
(
NR_MAC
,
"DAI1 nbits %d
\n
"
,
dci_pdu
->
dai
[
0
].
nbits
);
// 2nd DAI
if
(
cg
->
spCellConfig
->
spCellConfigDedicated
->
pdsch_ServingCellConfig
&&
cg
->
spCellConfig
->
spCellConfigDedicated
->
pdsch_ServingCellConfig
->
choice
.
setup
&&
cg
->
spCellConfig
->
spCellConfigDedicated
->
pdsch_ServingCellConfig
->
choice
.
setup
->
codeBlockGroupTransmission
!=
NULL
)
{
//TODO not sure about that
if
(
cg
->
spCellConfig
->
spCellConfigDedicated
->
pdsch_ServingCellConfig
&&
cg
->
spCellConfig
->
spCellConfigDedicated
->
pdsch_ServingCellConfig
->
choice
.
setup
&&
cg
->
spCellConfig
->
spCellConfigDedicated
->
pdsch_ServingCellConfig
->
choice
.
setup
->
codeBlockGroupTransmission
!=
NULL
)
{
// TODO not sure about that
dci_pdu
->
dai
[
1
].
nbits
=
2
;
size
+=
dci_pdu
->
dai
[
1
].
nbits
;
}
// SRS resource indicator
dci_pdu
->
srs_resource_indicator
.
nbits
=
compute_srs_resource_indicator
(
uplinkConfig
,
pusch_Config
,
srs_config
,
NULL
,
NULL
);
NR_PUSCH_ServingCellConfig_t
*
pusch_servingcellconfig
=
uplinkConfig
&&
uplinkConfig
->
pusch_ServingCellConfig
?
uplinkConfig
->
pusch_ServingCellConfig
->
choice
.
setup
:
NULL
;
dci_pdu
->
srs_resource_indicator
.
nbits
=
compute_srs_resource_indicator
(
pusch_servingcellconfig
,
pusch_Config
,
srs_config
,
NULL
,
NULL
);
size
+=
dci_pdu
->
srs_resource_indicator
.
nbits
;
LOG_D
(
NR_MAC
,
"dci_pdu->srs_resource_indicator.nbits %d
\n
"
,
dci_pdu
->
srs_resource_indicator
.
nbits
);
LOG_D
(
NR_MAC
,
"dci_pdu->srs_resource_indicator.nbits %d
\n
"
,
dci_pdu
->
srs_resource_indicator
.
nbits
);
// Precoding info and number of layers
dci_pdu
->
precoding_information
.
nbits
=
compute_precoding_information
(
pusch_Config
,
srs_config
,
dci_pdu
->
srs_resource_indicator
,
NULL
,
NULL
,
NULL
);
size
+=
dci_pdu
->
precoding_information
.
nbits
;
LOG_D
(
NR_MAC
,
"dci_pdu->precoding_informaiton.nbits=%d
\n
"
,
dci_pdu
->
precoding_information
.
nbits
);
LOG_D
(
NR_MAC
,
"dci_pdu->precoding_informaiton.nbits=%d
\n
"
,
dci_pdu
->
precoding_information
.
nbits
);
// Antenna ports
long
transformPrecoder
=
get_transformPrecoding
(
initialUplinkBWP
,
pusch_Config
,
ubwpd
,
(
uint8_t
*
)
&
format
,
rnti_type
,
0
);
long
transformPrecoder
=
get_transformPrecoding
(
initialUplinkBWP
,
pusch_Config
,
ubwpd
,
(
uint8_t
*
)
&
format
,
rnti_type
,
0
);
NR_DMRS_UplinkConfig_t
*
NR_DMRS_UplinkConfig
=
NULL
;
int
xa
=
0
;
int
xb
=
0
;
if
(
pusch_Config
&&
pusch_Config
->
dmrs_UplinkForPUSCH_MappingTypeA
!=
NULL
){
int
xa
=
0
;
int
xb
=
0
;
if
(
pusch_Config
&&
pusch_Config
->
dmrs_UplinkForPUSCH_MappingTypeA
!=
NULL
)
{
NR_DMRS_UplinkConfig
=
pusch_Config
->
dmrs_UplinkForPUSCH_MappingTypeA
->
choice
.
setup
;
xa
=
ul_ant_bits
(
NR_DMRS_UplinkConfig
,
transformPrecoder
);
xa
=
ul_ant_bits
(
NR_DMRS_UplinkConfig
,
transformPrecoder
);
}
if
(
pusch_Config
&&
pusch_Config
->
dmrs_UplinkForPUSCH_MappingTypeB
!=
NULL
){
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
View file @
f71f8b5a
...
...
@@ -50,7 +50,7 @@ int is_nr_DL_slot(NR_TDD_UL_DL_ConfigCommon_t *tdd_UL_DL_ConfigurationCommon,slo
int
is_nr_UL_slot
(
NR_TDD_UL_DL_ConfigCommon_t
*
tdd_UL_DL_ConfigurationCommon
,
slot_t
slotP
,
frame_type_t
frame_type
);
uint8_t
compute_srs_resource_indicator
(
NR_
UplinkConfig_t
*
uplinkC
onfig
,
uint8_t
compute_srs_resource_indicator
(
NR_
PUSCH_ServingCellConfig_t
*
pusch_servingcellc
onfig
,
NR_PUSCH_Config_t
*
pusch_Config
,
NR_SRS_Config_t
*
srs_config
,
nr_srs_feedback_t
*
srs_feedback
,
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
f71f8b5a
...
...
@@ -827,7 +827,6 @@ void nr_generate_Msg3_retransmission(module_id_t module_idP, int CC_id, frame_t
const
NR_SIB1_t
*
sib1
=
cc
->
sib1
?
cc
->
sib1
->
message
.
choice
.
c1
->
choice
.
systemInformationBlockType1
:
NULL
;
config_uldci
(
sib1
,
scc
,
NULL
,
pusch_pdu
,
&
uldci_payload
,
NULL
,
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
f71f8b5a
...
...
@@ -883,7 +883,6 @@ void nr_configure_css_dci_initial(nfapi_nr_dl_tti_pdcch_pdu_rel15_t* pdcch_pdu,
void
config_uldci
(
const
NR_SIB1_t
*
sib1
,
const
NR_ServingCellConfigCommon_t
*
scc
,
const
NR_CellGroupConfig_t
*
cg
,
const
nfapi_nr_pusch_pdu_t
*
pusch_pdu
,
dci_pdu_rel15_t
*
dci_pdu_rel15
,
nr_srs_feedback_t
*
srs_feedback
,
...
...
@@ -921,15 +920,7 @@ void config_uldci(const NR_SIB1_t *sib1,
pusch_Config
->
txConfig
!=
NULL
)
{
AssertFatal
(
*
pusch_Config
->
txConfig
==
NR_PUSCH_Config__txConfig_codebook
,
"Non Codebook configuration non supported
\n
"
);
NR_UplinkConfig_t
*
uplinkConfig
=
NULL
;
if
(
cg
&&
cg
->
spCellConfig
&&
cg
->
spCellConfig
->
spCellConfigDedicated
)
{
uplinkConfig
=
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
;
}
compute_srs_resource_indicator
(
uplinkConfig
,
pusch_Config
,
ul_bwp
->
srs_Config
,
srs_feedback
,
&
dci_pdu_rel15
->
srs_resource_indicator
.
val
);
compute_srs_resource_indicator
(
ul_bwp
->
pusch_servingcellconfig
,
pusch_Config
,
ul_bwp
->
srs_Config
,
srs_feedback
,
&
dci_pdu_rel15
->
srs_resource_indicator
.
val
);
}
compute_precoding_information
(
pusch_Config
,
ul_bwp
->
srs_Config
,
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
f71f8b5a
...
...
@@ -2171,7 +2171,6 @@ void nr_schedule_ulsch(module_id_t module_id, frame_t frame, sub_frame_t slot)
config_uldci
(
sib1
,
scc
,
cg
,
pusch_pdu
,
&
uldci_payload
,
&
ps
->
srs_feedback
,
...
...
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
f71f8b5a
...
...
@@ -188,7 +188,6 @@ void handle_nr_uci_pucch_2_3_4(module_id_t mod_id,
void
config_uldci
(
const
NR_SIB1_t
*
sib1
,
const
NR_ServingCellConfigCommon_t
*
scc
,
const
NR_CellGroupConfig_t
*
cg
,
const
nfapi_nr_pusch_pdu_t
*
pusch_pdu
,
dci_pdu_rel15_t
*
dci_pdu_rel15
,
nr_srs_feedback_t
*
srs_feedback
,
...
...
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