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
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
spbro
OpenXG-RAN
Commits
3a014e19
Commit
3a014e19
authored
Jul 09, 2024
by
Thomas Schlichter
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
NR UE: skip DLSCH ACK/NACK reporting for harq pid where feedback is disabled
parent
fe7be3f1
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
36 additions
and
2 deletions
+36
-2
openair2/LAYER2/NR_MAC_UE/config_ue.c
openair2/LAYER2/NR_MAC_UE/config_ue.c
+24
-0
openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
+1
-0
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+11
-2
No files found.
openair2/LAYER2/NR_MAC_UE/config_ue.c
View file @
3a014e19
...
...
@@ -2064,6 +2064,8 @@ static void configure_servingcell_info(NR_UE_MAC_INST_t *mac, NR_ServingCellConf
free
(
sc_info
->
maxMIMO_Layers_PDSCH
);
sc_info
->
maxMIMO_Layers_PDSCH
=
NULL
;
}
if
(
sc_info
->
downlinkHARQ_FeedbackDisabled_r17
)
asn1cFreeStruc
(
asn_DEF_NR_DownlinkHARQ_FeedbackDisabled_r17
,
sc_info
->
downlinkHARQ_FeedbackDisabled_r17
);
break
;
case
NR_SetupRelease_PDSCH_ServingCellConfig_PR_setup
:
{
NR_PDSCH_ServingCellConfig_t
*
pdsch_servingcellconfig
=
scd
->
pdsch_ServingCellConfig
->
choice
.
setup
;
...
...
@@ -2075,6 +2077,28 @@ static void configure_servingcell_info(NR_UE_MAC_INST_t *mac, NR_ServingCellConf
UPDATE_IE
(
sc_info
->
xOverhead_PDSCH
,
pdsch_servingcellconfig
->
xOverhead
,
long
);
if
(
pdsch_servingcellconfig
->
ext1
&&
pdsch_servingcellconfig
->
ext1
->
maxMIMO_Layers
)
UPDATE_IE
(
sc_info
->
maxMIMO_Layers_PDSCH
,
pdsch_servingcellconfig
->
ext1
->
maxMIMO_Layers
,
long
);
if
(
pdsch_servingcellconfig
->
ext3
&&
pdsch_servingcellconfig
->
ext3
->
downlinkHARQ_FeedbackDisabled_r17
)
{
switch
(
pdsch_servingcellconfig
->
ext3
->
downlinkHARQ_FeedbackDisabled_r17
->
present
)
{
case
NR_SetupRelease_DownlinkHARQ_FeedbackDisabled_r17_PR_NOTHING
:
break
;
case
NR_SetupRelease_DownlinkHARQ_FeedbackDisabled_r17_PR_release
:
if
(
sc_info
->
downlinkHARQ_FeedbackDisabled_r17
)
asn1cFreeStruc
(
asn_DEF_NR_DownlinkHARQ_FeedbackDisabled_r17
,
sc_info
->
downlinkHARQ_FeedbackDisabled_r17
);
break
;
case
NR_SetupRelease_DownlinkHARQ_FeedbackDisabled_r17_PR_setup
:
if
(
sc_info
->
downlinkHARQ_FeedbackDisabled_r17
==
NULL
)
{
sc_info
->
downlinkHARQ_FeedbackDisabled_r17
=
calloc
(
1
,
sizeof
(
*
sc_info
->
downlinkHARQ_FeedbackDisabled_r17
));
sc_info
->
downlinkHARQ_FeedbackDisabled_r17
->
buf
=
calloc
(
4
,
sizeof
(
*
sc_info
->
downlinkHARQ_FeedbackDisabled_r17
->
buf
));
}
sc_info
->
downlinkHARQ_FeedbackDisabled_r17
->
size
=
pdsch_servingcellconfig
->
ext3
->
downlinkHARQ_FeedbackDisabled_r17
->
choice
.
setup
.
size
;
sc_info
->
downlinkHARQ_FeedbackDisabled_r17
->
bits_unused
=
pdsch_servingcellconfig
->
ext3
->
downlinkHARQ_FeedbackDisabled_r17
->
choice
.
setup
.
bits_unused
;
for
(
int
i
=
0
;
i
<
sc_info
->
downlinkHARQ_FeedbackDisabled_r17
->
size
;
i
++
)
sc_info
->
downlinkHARQ_FeedbackDisabled_r17
->
buf
[
i
]
=
pdsch_servingcellconfig
->
ext3
->
downlinkHARQ_FeedbackDisabled_r17
->
choice
.
setup
.
buf
[
i
];
break
;
default:
AssertFatal
(
false
,
"Invalid case
\n
"
);
}
}
break
;
}
default:
...
...
openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
View file @
3a014e19
...
...
@@ -269,6 +269,7 @@ void release_mac_configuration(NR_UE_MAC_INST_t *mac,
asn1cFreeStruc
(
asn_DEF_NR_CSI_MeasConfig
,
sc
->
csi_MeasConfig
);
asn1cFreeStruc
(
asn_DEF_NR_CSI_AperiodicTriggerStateList
,
sc
->
aperiodicTriggerStateList
);
asn1cFreeStruc
(
asn_DEF_NR_NTN_Config_r17
,
sc
->
ntn_Config_r17
);
asn1cFreeStruc
(
asn_DEF_NR_DownlinkHARQ_FeedbackDisabled_r17
,
sc
->
downlinkHARQ_FeedbackDisabled_r17
);
free
(
sc
->
xOverhead_PDSCH
);
free
(
sc
->
nrofHARQ_ProcessesForPDSCH
);
free
(
sc
->
rateMatching_PUSCH
);
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
3a014e19
...
...
@@ -2341,7 +2341,17 @@ bool get_downlink_ack(NR_UE_MAC_INST_t *mac, frame_t frame, int slot, PUCCH_sche
"Value of pucch_resource_indicator %d not matching with what set before %d (Possibly due to a false DCI)
\n
"
,
current_harq
->
pucch_resource_indicator
,
res_ind
);
else
{
else
{
if
(
!
current_harq
->
ack_received
)
LOG_E
(
NR_MAC
,
"DLSCH ACK/NACK reporting initiated for harq pid %d before DLSCH decoding completed
\n
"
,
dl_harq_pid
);
if
(
get_FeedbackDisabled
(
mac
->
sc_info
.
downlinkHARQ_FeedbackDisabled_r17
,
dl_harq_pid
))
{
LOG_D
(
NR_MAC
,
"skipping DLSCH ACK/NACK reporting for harq pid %d
\n
"
,
dl_harq_pid
);
current_harq
->
active
=
false
;
current_harq
->
ack_received
=
false
;
continue
;
}
if
(
current_harq
->
dai_cumul
==
0
)
{
LOG_E
(
NR_MAC
,
"PUCCH Downlink DAI is invalid
\n
"
);
return
false
;
...
...
@@ -2356,7 +2366,6 @@ bool get_downlink_ack(NR_UE_MAC_INST_t *mac, frame_t frame, int slot, PUCCH_sche
current_harq
->
active
=
false
;
current_harq
->
ack_received
=
false
;
}
else
{
LOG_E
(
NR_MAC
,
"DLSCH ACK/NACK reporting initiated for harq pid %d before DLSCH decoding completed
\n
"
,
dl_harq_pid
);
ack_data
[
code_word
][
dai_index
]
=
0
;
}
dai
[
code_word
][
dai_index
]
=
(
dai_index
%
4
)
+
1
;
// value between 1 and 4
...
...
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