Commit 20f1d347 authored by masayuki.harada's avatar masayuki.harada Committed by shono.takafumi

Fix DCI0 aggregation and call ulsch scheduling.

parent a332423d
...@@ -992,11 +992,33 @@ void schedule_response(Sched_Rsp_t *Sched_INFO, L1_rxtx_proc_t *proc) { ...@@ -992,11 +992,33 @@ void schedule_response(Sched_Rsp_t *Sched_INFO, L1_rxtx_proc_t *proc) {
if (NFAPI_MODE!=NFAPI_MONOLITHIC) { if (NFAPI_MODE!=NFAPI_MONOLITHIC) {
if (number_ul_pdu>0) { if (number_ul_pdu>0) {
uint8_t ulsch_pdu_num = 0;
for (i=0; i<number_ul_pdu; i++) {
if((UL_req->ul_config_request_body.ul_config_pdu_list[i].pdu_type == NFAPI_UL_CONFIG_ULSCH_PDU_TYPE) ||
(UL_req->ul_config_request_body.ul_config_pdu_list[i].pdu_type == NFAPI_UL_CONFIG_ULSCH_CQI_RI_PDU_TYPE) ||
(UL_req->ul_config_request_body.ul_config_pdu_list[i].pdu_type == NFAPI_UL_CONFIG_ULSCH_HARQ_PDU_TYPE) ||
(UL_req->ul_config_request_body.ul_config_pdu_list[i].pdu_type == NFAPI_UL_CONFIG_ULSCH_CQI_HARQ_RI_PDU_TYPE)){
ulsch_pdu_num++;
}
}
if (RC.mac[Mod_id]->scheduler_mode == SCHED_MODE_DEFAULT) {
//LOG_D(PHY, "UL_CONFIG to send to PNF\n");
UL_req->sfn_sf = frame << 4 | subframe;
oai_nfapi_ul_config_req(UL_req);
UL_req->ul_config_request_body.number_of_pdus=0;
number_ul_pdu=0;
}else if (RC.mac[Mod_id]->scheduler_mode == SCHED_MODE_FAIR_RR) {
if(ulsch_pdu_num <= RC.rrc[Mod_id]->configuration.radioresourceconfig[CC_id].ue_multiple_max){
//LOG_D(PHY, "UL_CONFIG to send to PNF\n"); //LOG_D(PHY, "UL_CONFIG to send to PNF\n");
UL_req->sfn_sf = frame << 4 | subframe; UL_req->sfn_sf = frame << 4 | subframe;
oai_nfapi_ul_config_req(UL_req); oai_nfapi_ul_config_req(UL_req);
UL_req->ul_config_request_body.number_of_pdus=0; UL_req->ul_config_request_body.number_of_pdus=0;
number_ul_pdu=0; number_ul_pdu=0;
}else{
LOG_E(MAC,"NFAPI: frame %d subframe %d ul_req num %d ul pdu %d\n",
frame,subframe,number_ul_pdu,ulsch_pdu_num);
}
}
} }
} else { } else {
for (i=0; i<number_ul_pdu; i++) { for (i=0; i<number_ul_pdu; i++) {
......
...@@ -1391,6 +1391,7 @@ schedule_ulsch_rnti(module_id_t module_idP, ...@@ -1391,6 +1391,7 @@ schedule_ulsch_rnti(module_id_t module_idP,
eNB_MAC_INST *mac = RC.mac[module_idP]; eNB_MAC_INST *mac = RC.mac[module_idP];
COMMON_channels_t *cc = mac->common_channels; COMMON_channels_t *cc = mac->common_channels;
UE_info_t *UE_info = &mac->UE_info; UE_info_t *UE_info = &mac->UE_info;
//uint8_t aggregation = 2;
int sched_frame = frameP; int sched_frame = frameP;
...@@ -1669,8 +1670,12 @@ schedule_ulsch_rnti(module_id_t module_idP, ...@@ -1669,8 +1670,12 @@ schedule_ulsch_rnti(module_id_t module_idP,
UE_template_ptr->cshift[harq_pid] = cshift; UE_template_ptr->cshift[harq_pid] = cshift;
/* Setting DCI0 NFAPI struct */ /* Setting DCI0 NFAPI struct */
hi_dci0_pdu = &hi_dci0_req_body->hi_dci0_pdu_list[dci_ul_pdu_idx]; hi_dci0_pdu = &hi_dci0_req_body->hi_dci0_pdu_list[dci_ul_pdu_idx];
//memset((void *) hi_dci0_pdu, 0,sizeof(nfapi_hi_dci0_request_pdu_t));
hi_dci0_pdu->pdu_type = NFAPI_HI_DCI0_DCI_PDU_TYPE;
hi_dci0_pdu->pdu_size = 2 + sizeof(nfapi_hi_dci0_dci_pdu); hi_dci0_pdu->pdu_size = 2 + sizeof(nfapi_hi_dci0_dci_pdu);
hi_dci0_pdu->dci_pdu.dci_pdu_rel8.dci_format = NFAPI_UL_DCI_FORMAT_0; hi_dci0_pdu->dci_pdu.dci_pdu_rel8.dci_format = NFAPI_UL_DCI_FORMAT_0;
//hi_dci0_pdu->dci_pdu.dci_pdu_rel8.aggregation_level = aggregation;
hi_dci0_pdu->dci_pdu.dci_pdu_rel8.rnti = rnti;
hi_dci0_pdu->dci_pdu.dci_pdu_rel8.transmission_power = 6000; hi_dci0_pdu->dci_pdu.dci_pdu_rel8.transmission_power = 6000;
hi_dci0_pdu->dci_pdu.dci_pdu_rel8.resource_block_start = UE_template_ptr->pre_first_nb_rb_ul; hi_dci0_pdu->dci_pdu.dci_pdu_rel8.resource_block_start = UE_template_ptr->pre_first_nb_rb_ul;
hi_dci0_pdu->dci_pdu.dci_pdu_rel8.number_of_resource_block = hi_dci0_pdu->dci_pdu.dci_pdu_rel8.number_of_resource_block =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment