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
206c8c51
Commit
206c8c51
authored
Sep 25, 2017
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ULSCH debugging RK.
parent
82f03acf
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
50 additions
and
64 deletions
+50
-64
openair1/PHY/LTE_TRANSPORT/dci.c
openair1/PHY/LTE_TRANSPORT/dci.c
+3
-3
openair2/LAYER2/MAC/eNB_scheduler.c
openair2/LAYER2/MAC/eNB_scheduler.c
+0
-2
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
+1
-1
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+46
-58
No files found.
openair1/PHY/LTE_TRANSPORT/dci.c
View file @
206c8c51
...
...
@@ -2720,9 +2720,9 @@ void dci_decoding_procedure0(LTE_UE_PDCCH **pdcch_vars,
printf("dci_decoded_output[%d] => %x\n",i,dci_decoded_output[i]);
*/
crc
=
(
crc16
(
&
dci_decoded_output
[
subframe
&
0x1
][
0
],
sizeof_bits
)
>>
16
)
^
extract_crc
(
&
dci_decoded_output
[
subframe
&
0x1
][
0
],
sizeof_bits
);
#ifdef DEBUG_DCI_DECODING
printf
(
"crc =>%x
\n
"
,
crc
);
#endif
//
#ifdef DEBUG_DCI_DECODING
LOG_D
(
PHY
,
"crc =>%x
\n
"
,
crc
);
//
#endif
if
(((
L
>
1
)
&&
((
crc
==
si_rnti
)
||
(
crc
==
p_rnti
)
||
...
...
openair2/LAYER2/MAC/eNB_scheduler.c
View file @
206c8c51
...
...
@@ -504,9 +504,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP, sub_frame
schedule_SI
(
module_idP
,
frameP
,
subframeP
);
// This schedules Random-Access for legacy LTE and eMTC starting in subframeP
schedule_RA
(
module_idP
,
frameP
,
subframeP
);
// copy previously scheduled UL resources (ULSCH + HARQ)
copy_ulreq
(
module_idP
,
frameP
,
subframeP
);
// This schedules SRS in subframeP
schedule_SRS
(
module_idP
,
frameP
,
subframeP
);
...
...
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
View file @
206c8c51
...
...
@@ -2713,7 +2713,7 @@ int allocate_CCEs(int module_idP,
int
i
,
j
,
idci
;
int
nCCE
=
0
;
LOG_D
(
MAC
,
"Allocate CCEs subframe %d, test %d : (DL
%d,UL %d)
\n
"
,
subframeP
,
test_onlyP
,
DL_req
->
number_dci
,
HI_DCI0_req
->
number_of_dci
);
LOG_D
(
MAC
,
"Allocate CCEs subframe %d, test %d : (DL
PDU %d, DL DCI %d, UL %d)
\n
"
,
subframeP
,
test_onlyP
,
DL_req
->
number_pdu
,
DL_req
->
number_dci
,
HI_DCI0_req
->
number_of_dci
);
DL_req
->
number_pdcch_ofdm_symbols
=
1
;
try_again:
...
...
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
View file @
206c8c51
...
...
@@ -941,13 +941,11 @@ abort();
format0);
*/
if
(
CCE_allocation_infeasible
(
module_idP
,
CC_id
,
0
,
subframeP
,
aggregation
,
rnti
))
{
if
(
CCE_allocation_infeasible
(
module_idP
,
CC_id
,
2
,
subframeP
,
aggregation
,
rnti
))
{
LOG_W
(
MAC
,
"[eNB %d] frame %d subframe %d, UE %d/%x CC %d: not enough nCCE
\n
"
,
module_idP
,
frameP
,
subframeP
,
UE_id
,
rnti
,
CC_id
);
continue
;
// break;
}
else
{
LOG_D
(
MAC
,
"[eNB %d] frame %d subframe %d,Scheduling PUSCH for UE %d/%x CC %d : aggregation level %d, N_RB_UL %d
\n
"
,
module_idP
,
frameP
,
subframeP
,
UE_id
,
rnti
,
CC_id
,
aggregation
,
N_RB_UL
);
}
}
// if (eNB_UE_stats->mode == PUSCH) { // ue has a ulsch channel
...
...
@@ -957,15 +955,8 @@ abort();
harq_pid
=
subframe2harqpid
(
&
cc
[
CC_id
],
sched_frame
,
sched_subframeP
);
round
=
UE_sched_ctrl
->
round_UL
[
CC_id
][
harq_pid
];
AssertFatal
(
round
<
8
,
"round %d > 7 for UE %d/%x
\n
"
,
round
,
UE_id
,
rnti
);
/*
if (get_UL_harq_info(module_idP,CC_id,frameP,subframeP,&harq_pid,&round)<0) {
LOG_W(MAC,"[eNB %d] Scheduler Frame %d, subframeP %d: candidate harq_pid from PHY for UE %d CC %d RNTI %x\n",
module_idP,frameP,subframeP, UE_id, CC_id, rnti);
continue;
} else
LOG_T(MAC,"[eNB %d] Frame %d, subframeP %d, UE %d CC %d : got harq pid %d round %d (rnti %x)\n",
module_idP,frameP,subframeP,UE_id,CC_id, harq_pid, round,rnti);
*/
LOG_D
(
MAC
,
"[eNB %d] frame %d subframe %d,Checking PUSCH %d for UE %d/%x CC %d : aggregation level %d, N_RB_UL %d
\n
"
,
module_idP
,
frameP
,
subframeP
,
harq_pid
,
UE_id
,
rnti
,
CC_id
,
aggregation
,
N_RB_UL
);
RC
.
eNB
[
module_idP
][
CC_id
]
->
pusch_stats_BO
[
UE_id
][(
frameP
*
10
)
+
subframeP
]
=
UE_template
->
ul_total_buffer
;
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_UE0_BO
,
RC
.
eNB
[
module_idP
][
CC_id
]
->
pusch_stats_BO
[
UE_id
][(
frameP
*
10
)
+
subframeP
]);
...
...
@@ -1108,52 +1099,49 @@ abort();
hi_dci0_pdu
->
dci_pdu
.
dci_pdu_rel8
.
cqi_csi_request
=
cqi_req
;
hi_dci0_pdu
->
dci_pdu
.
dci_pdu_rel8
.
dl_assignment_index
=
UE_template
->
DAI_ul
[
sched_subframeP
];
if
(
!
CCE_allocation_infeasible
(
module_idP
,
CC_id
,
2
,
subframeP
,
aggregation
,
rnti
))
{
eNB
->
HI_DCI0_req
[
CC_id
].
hi_dci0_request_body
.
number_of_dci
++
;
LOG_D
(
MAC
,
"[PUSCH %d] Frame %d, Subframe %d: Adding UL CONFIG.Request for UE %d/%x, ulsch_frame %d, ulsch_subframe %d
\n
"
,
harq_pid
,
frameP
,
subframeP
,
UE_id
,
rnti
,
sched_frame
,
sched_subframeP
);
// Add UL_config PDUs
fill_nfapi_ulsch_config_request_rel8
(
&
ul_req_tmp
->
ul_config_pdu_list
[
ul_req_tmp
->
number_of_pdus
],
cqi_req
,
cc
,
UE_template
->
physicalConfigDedicated
,
get_tmode
(
module_idP
,
CC_id
,
UE_id
),
eNB
->
ul_handle
,
rnti
,
first_rb
[
CC_id
],
// resource_block_start
rb_table
[
rb_table_index
],
// number_of_resource_blocks
UE_template
->
mcs_UL
[
harq_pid
],
cshift
,
// cyclic_shift_2_for_drms
0
,
// frequency_hopping_enabled_flag
0
,
// frequency_hopping_bits
ndi
,
// new_data_indication
0
,
// redundancy_version
harq_pid
,
// harq_process_number
0
,
// ul_tx_mode
0
,
// current_tx_nb
0
,
// n_srs
get_TBS_UL
(
UE_template
->
mcs_UL
[
harq_pid
],
rb_table
[
rb_table_index
])
);
eNB
->
HI_DCI0_req
[
CC_id
].
hi_dci0_request_body
.
number_of_dci
++
;
LOG_D
(
MAC
,
"[PUSCH %d] Frame %d, Subframe %d: Adding UL CONFIG.Request for UE %d/%x, ulsch_frame %d, ulsch_subframe %d
\n
"
,
harq_pid
,
frameP
,
subframeP
,
UE_id
,
rnti
,
sched_frame
,
sched_subframeP
);
// Add UL_config PDUs
fill_nfapi_ulsch_config_request_rel8
(
&
ul_req_tmp
->
ul_config_pdu_list
[
ul_req_tmp
->
number_of_pdus
],
cqi_req
,
cc
,
UE_template
->
physicalConfigDedicated
,
get_tmode
(
module_idP
,
CC_id
,
UE_id
),
eNB
->
ul_handle
,
rnti
,
first_rb
[
CC_id
],
// resource_block_start
rb_table
[
rb_table_index
],
// number_of_resource_blocks
UE_template
->
mcs_UL
[
harq_pid
],
cshift
,
// cyclic_shift_2_for_drms
0
,
// frequency_hopping_enabled_flag
0
,
// frequency_hopping_bits
ndi
,
// new_data_indication
0
,
// redundancy_version
harq_pid
,
// harq_process_number
0
,
// ul_tx_mode
0
,
// current_tx_nb
0
,
// n_srs
get_TBS_UL
(
UE_template
->
mcs_UL
[
harq_pid
],
rb_table
[
rb_table_index
])
);
#ifdef Rel14
if
(
UE_template
->
rach_resource_type
>
0
)
{
// This is a BL/CE UE allocation
fill_nfapi_ulsch_config_request_emtc
(
&
ul_req_tmp
->
ul_config_pdu_list
[
ul_req_tmp
->
number_of_pdus
],
UE_template
->
rach_resource_type
>
2
?
2
:
1
,
1
,
//total_number_of_repetitions
1
,
//repetition_number
(
frameP
*
10
)
+
subframeP
);
}
if
(
UE_template
->
rach_resource_type
>
0
)
{
// This is a BL/CE UE allocation
fill_nfapi_ulsch_config_request_emtc
(
&
ul_req_tmp
->
ul_config_pdu_list
[
ul_req_tmp
->
number_of_pdus
],
UE_template
->
rach_resource_type
>
2
?
2
:
1
,
1
,
//total_number_of_repetitions
1
,
//repetition_number
(
frameP
*
10
)
+
subframeP
);
}
#endif
ul_req_tmp
->
number_of_pdus
++
;
eNB
->
ul_handle
++
;
ul_req_tmp
->
number_of_pdus
++
;
eNB
->
ul_handle
++
;
}
add_ue_ulsch_info
(
module_idP
,
CC_id
,
UE_id
,
...
...
@@ -1162,7 +1150,7 @@ abort();
LOG_D
(
MAC
,
"[eNB %d] CC_id %d Frame %d, subframeP %d: Generated ULSCH DCI for next UE_id %d, format 0
\n
"
,
module_idP
,
CC_id
,
frameP
,
subframeP
,
UE_id
);
}
}
else
{
// round > 0 => retransmission
T
(
T_ENB_MAC_UE_UL_SCHEDULE_RETRANSMISSION
,
T_INT
(
module_idP
),
T_INT
(
CC_id
),
T_INT
(
rnti
),
T_INT
(
frameP
),
T_INT
(
subframeP
),
T_INT
(
harq_pid
),
T_INT
(
UE_template
->
mcs_UL
[
harq_pid
]),
T_INT
(
first_rb
[
CC_id
]),
T_INT
(
rb_table
[
rb_table_index
]),
...
...
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