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
canghaiwuhen
OpenXG-RAN
Commits
71bd6e86
Commit
71bd6e86
authored
Feb 23, 2019
by
nepes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bugfix in harq_handling for eMTC
parent
078e6923
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
20 additions
and
9 deletions
+20
-9
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
+2
-2
openair1/SCHED/fapi_l1.c
openair1/SCHED/fapi_l1.c
+7
-4
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+11
-3
No files found.
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
71bd6e86
...
...
@@ -1776,8 +1776,8 @@ void fill_mdci_and_dlsch(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc,mDCI_ALLOC_t *dc
dlsch0_harq
->
frame
=
(
subframe
>=
8
)
?
((
frame
+
1
)
&
1023
)
:
frame
;
dlsch0_harq
->
subframe
=
(
subframe
+
2
)
%
10
;
LOG_I
(
PHY
,
"Setting DLSCH
harq_ids[%d] to %d
\n
"
,
dlsch0_harq
->
subframe
,
dlsch0
->
harq_ids
[
frame
%
2
][
dlsch0_harq
->
subframe
]
);
dlsch0
->
harq_ids
[
frame
%
2
][
dlsch0_harq
->
subframe
]
=
rel13
->
harq_process
;
LOG_I
(
PHY
,
"Setting DLSCH
UEid %d harq_ids[%d] from %d to %d
\n
"
,
UE_id
,
dlsch0_harq
->
subframe
,
dlsch0
->
harq_ids
[
frame
%
2
][
dlsch0_harq
->
subframe
],
rel13
->
harq_process
);
dlsch0
->
harq_ids
[
dlsch0_harq
->
frame
%
2
][
dlsch0_harq
->
subframe
]
=
rel13
->
harq_process
;
dlsch0_harq
->
pdsch_start
=
rel13
->
start_symbol
;
LOG_I
(
PHY
,
"Setting DLSCH harq %d round %d to active for %d.%d
\n
"
,
rel13
->
harq_process
,
dlsch0_harq
->
round
,
dlsch0_harq
->
frame
,
dlsch0_harq
->
subframe
);
...
...
openair1/SCHED/fapi_l1.c
View file @
71bd6e86
...
...
@@ -397,10 +397,12 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,L1_rxtx_pro
}
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
dlsch0_harq
->
pdsch_start
=
eNB
->
pdcch_vars
[
proc
->
subframe_tx
&
1
].
num_pdcch_symbols
;
#else
if
(
rel13
->
ue_type
>
0
)
dlsch0_harq
->
pdsch_start
=
rel10
->
pdsch_start
;
else
#endif
dlsch0_harq
->
pdsch_start
=
eNB
->
pdcch_vars
[
proc
->
subframe_tx
&
1
].
num_pdcch_symbols
;
if
(
dlsch0_harq
->
round
==
0
)
{
//get pointer to SDU if this a new SDU
AssertFatal
(
sdu
!=
NULL
,
"NFAPI: frame %d, subframe %d: programming dlsch for round 0, rnti %x, UE_id %d, harq_pid %d : sdu is null for pdu_index %d
\n
"
,
proc
->
frame_tx
,
proc
->
subframe_tx
,
rel8
->
rnti
,
UE_id
,
harq_pid
,
...
...
@@ -706,7 +708,8 @@ void handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc,
if
(
ul_config_pdu
->
pdu_type
==
NFAPI_UL_CONFIG_ULSCH_PDU_TYPE
)
{
AssertFatal
((
UE_id
=
find_ulsch
(
ul_config_pdu
->
ulsch_pdu
.
ulsch_pdu_rel8
.
rnti
,
eNB
,
SEARCH_EXIST_OR_FREE
))
>=
0
,
"No existing UE ULSCH for rnti %x
\n
"
,
rel8
->
rnti
);
LOG_D
(
PHY
,
"Applying UL config for UE %d, rnti %x for frame %d, subframe %d, modulation %d, rvidx %d
\n
"
,
UE_id
,
rel8
->
rnti
,
frame
,
subframe
,
rel8
->
modulation_type
,
rel8
->
redundancy_version
);
LOG_I
(
PHY
,
"Applying UL config for UE %d, rnti %x for frame %d, subframe %d, modulation %d, rvidx %d, first_rb %d, nb_rb %d
\n
"
,
UE_id
,
rel8
->
rnti
,
frame
,
subframe
,
rel8
->
modulation_type
,
rel8
->
redundancy_version
,
rel8
->
resource_block_start
,
rel8
->
number_of_resource_blocks
);
fill_ulsch
(
eNB
,
UE_id
,
&
ul_config_pdu
->
ulsch_pdu
,
frame
,
subframe
);
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
71bd6e86
...
...
@@ -274,7 +274,7 @@ void pdsch_procedures(PHY_VARS_eNB *eNB,
if
(
dlsch
->
rnti
==
0x02
)
{
//frame < 200) {
LOG_
D
(
PHY
,
LOG_
I
(
PHY
,
"[eNB %"
PRIu8
"][PDSCH %"
PRIx16
"/%"
PRIu8
"] Frame %d, subframe %d: Generating PDSCH/DLSCH with input size = %"
PRIu16
", pdsch_start %d, G %d, nb_rb %"
PRIu16
", rb0 %x, rb1 %x, TBS %"
PRIu16
", pmi_alloc %"
PRIx64
", rv %"
PRIu8
" (round %"
PRIu8
")
\n
"
,
eNB
->
Mod_id
,
dlsch
->
rnti
,
harq_pid
,
frame
,
subframe
,
dlsch_harq
->
TBS
/
8
,
dlsch_harq
->
pdsch_start
,
...
...
@@ -334,7 +334,7 @@ void pdsch_procedures(PHY_VARS_eNB *eNB,
}
LOG_D
(
PHY
,
"Generating DLSCH/PDSCH pdu:%p pdsch_start:%d frame:%d subframe:%d nb_rb:%d rb_alloc:%d Qm:%d Nl:%d round:%d
\n
"
,
if
(
dlsch
->
rnti
!=
0xffff
)
LOG_I
(
PHY
,
"Generating DLSCH/PDSCH pdu:%p pdsch_start:%d frame:%d subframe:%d nb_rb:%d rb_alloc:%d Qm:%d Nl:%d round:%d
\n
"
,
dlsch_harq
->
pdu
,
dlsch_harq
->
pdsch_start
,
frame
,
subframe
,
dlsch_harq
->
nb_rb
,
dlsch_harq
->
rb_alloc
[
0
],
dlsch_harq
->
Qm
,
dlsch_harq
->
Nl
,
dlsch_harq
->
round
);
// 36-212
if
(
nfapi_mode
==
0
||
nfapi_mode
==
1
)
{
// monolthic OR PNF - do not need turbo encoding on VNF
...
...
@@ -568,7 +568,15 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
if
(
harq_pid
>=
8
)
{
LOG_E
(
PHY
,
"harq_pid:%d corrupt must be 0-7 UE_id:%d frame:%d subframe:%d rnti:%x
\n
"
,
harq_pid
,
UE_id
,
frame
,
subframe
,
dlsch0
->
rnti
);
LOG_E
(
PHY
,
"harq_pid:%d corrupt must be 0-7 UE_id:%d frame:%d subframe:%d rnti:%x [ %1d.%1d.%1d.%1d.%1d.%1d.%1d.%1d
\n
"
,
harq_pid
,
UE_id
,
frame
,
subframe
,
dlsch0
->
rnti
,
dlsch0
->
harq_ids
[
frame
%
2
][
0
],
dlsch0
->
harq_ids
[
frame
%
2
][
1
],
dlsch0
->
harq_ids
[
frame
%
2
][
2
],
dlsch0
->
harq_ids
[
frame
%
2
][
3
],
dlsch0
->
harq_ids
[
frame
%
2
][
4
],
dlsch0
->
harq_ids
[
frame
%
2
][
5
],
dlsch0
->
harq_ids
[
frame
%
2
][
6
],
dlsch0
->
harq_ids
[
frame
%
2
][
7
]);
}
else
{
...
...
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