Change UL DCI aggregation level by DL cqi.
(cherry picked from commit 175c59ae3aedf612777cd1c8c88b6d6f254b9334)
This commit is contained in:
committed by
shono.takafumi
parent
39b9ffd69b
commit
b54c32b70d
@@ -2312,6 +2312,18 @@ void ulsch_scheduler_pre_ue_select_fairRR(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mac_eNB_get_rrc_status(module_idP, rnti) == RRC_HO_EXECUTION) {
|
||||||
|
aggregation = 4;
|
||||||
|
|
||||||
|
if(get_aggregation(get_bw_index(module_idP, CC_id),UE_info->UE_sched_ctrl[UE_id].dl_cqi[CC_id],format0)>4)
|
||||||
|
aggregation = get_aggregation(get_bw_index(module_idP, CC_id),UE_info->UE_sched_ctrl[UE_id].dl_cqi[CC_id],format0);
|
||||||
|
}else{
|
||||||
|
//aggregation = 2;
|
||||||
|
aggregation = get_aggregation(get_bw_index(module_idP, CC_id),
|
||||||
|
UE_info->UE_sched_ctrl[UE_id].dl_cqi[CC_id],
|
||||||
|
format0);
|
||||||
|
}
|
||||||
|
|
||||||
cc = &eNB->common_channels[CC_id];
|
cc = &eNB->common_channels[CC_id];
|
||||||
//harq_pid
|
//harq_pid
|
||||||
harq_pid = subframe2harqpid(cc,(frameP+(sched_subframeP<subframeP ? 1 : 0)),sched_subframeP);
|
harq_pid = subframe2harqpid(cc,(frameP+(sched_subframeP<subframeP ? 1 : 0)),sched_subframeP);
|
||||||
@@ -2416,10 +2428,19 @@ void ulsch_scheduler_pre_ue_select_fairRR(
|
|||||||
}
|
}
|
||||||
|
|
||||||
hi_dci0_pdu = &HI_DCI0_req->hi_dci0_pdu_list[HI_DCI0_req->number_of_dci+HI_DCI0_req->number_of_hi];
|
hi_dci0_pdu = &HI_DCI0_req->hi_dci0_pdu_list[HI_DCI0_req->number_of_dci+HI_DCI0_req->number_of_hi];
|
||||||
format_flag = 2;
|
|
||||||
rnti = UE_RNTI(module_idP,first_ue_id[CC_id][temp]);
|
rnti = UE_RNTI(module_idP,first_ue_id[CC_id][temp]);
|
||||||
|
format_flag = 2;
|
||||||
aggregation=get_aggregation(get_bw_index(module_idP,CC_id),UE_info->UE_sched_ctrl[first_ue_id[CC_id][temp]].dl_cqi[CC_id],format0);
|
aggregation=get_aggregation(get_bw_index(module_idP,CC_id),UE_info->UE_sched_ctrl[first_ue_id[CC_id][temp]].dl_cqi[CC_id],format0);
|
||||||
|
if (mac_eNB_get_rrc_status(module_idP, rnti) == RRC_HO_EXECUTION) {
|
||||||
|
aggregation = 4;
|
||||||
|
|
||||||
|
if(get_aggregation(get_bw_index(module_idP, CC_id),UE_info->UE_sched_ctrl[UE_id].dl_cqi[CC_id],format0)>4)
|
||||||
|
aggregation = get_aggregation(get_bw_index(module_idP, CC_id),UE_info->UE_sched_ctrl[UE_id].dl_cqi[CC_id],format0);
|
||||||
|
}else {
|
||||||
|
aggregation = get_aggregation(get_bw_index(module_idP, CC_id),
|
||||||
|
UE_info->UE_sched_ctrl[UE_id].dl_cqi[CC_id],
|
||||||
|
format0);
|
||||||
|
}
|
||||||
if (CCE_allocation_infeasible(module_idP,CC_id,format_flag,subframeP,aggregation,rnti) == 1) {
|
if (CCE_allocation_infeasible(module_idP,CC_id,format_flag,subframeP,aggregation,rnti) == 1) {
|
||||||
cc_id_flag[CC_id] = 1;
|
cc_id_flag[CC_id] = 1;
|
||||||
break;
|
break;
|
||||||
@@ -2498,6 +2519,9 @@ void ulsch_scheduler_pre_ue_select_fairRR(
|
|||||||
format_flag = 2;
|
format_flag = 2;
|
||||||
aggregation=get_aggregation(get_bw_index(module_idP,CC_id),UE_info->UE_sched_ctrl[UE_id].dl_cqi[CC_id],format0);
|
aggregation=get_aggregation(get_bw_index(module_idP,CC_id),UE_info->UE_sched_ctrl[UE_id].dl_cqi[CC_id],format0);
|
||||||
|
|
||||||
|
aggregation = get_aggregation(get_bw_index(module_idP, CC_id),
|
||||||
|
UE_list->UE_sched_ctrl[UE_id].dl_cqi[CC_id],
|
||||||
|
format0);
|
||||||
if (CCE_allocation_infeasible(module_idP,CC_id,format_flag,subframeP,aggregation,rnti) == 1) {
|
if (CCE_allocation_infeasible(module_idP,CC_id,format_flag,subframeP,aggregation,rnti) == 1) {
|
||||||
cc_id_flag[CC_id] = 1;
|
cc_id_flag[CC_id] = 1;
|
||||||
continue;
|
continue;
|
||||||
@@ -3112,7 +3136,16 @@ void schedule_ulsch_rnti_fairRR(module_id_t module_idP,
|
|||||||
UE_sched_ctrl = &UE_info->UE_sched_ctrl[UE_id];
|
UE_sched_ctrl = &UE_info->UE_sched_ctrl[UE_id];
|
||||||
harq_pid = subframe2harqpid(cc,sched_frame,sched_subframeP);
|
harq_pid = subframe2harqpid(cc,sched_frame,sched_subframeP);
|
||||||
rnti = UE_RNTI(CC_id,UE_id);
|
rnti = UE_RNTI(CC_id,UE_id);
|
||||||
aggregation=get_aggregation(get_bw_index(module_idP,CC_id),UE_sched_ctrl[UE_id].dl_cqi[CC_id],format0);
|
if (mac_eNB_get_rrc_status(module_idP, rnti) == RRC_HO_EXECUTION) {
|
||||||
|
aggregation = 4;
|
||||||
|
if(get_aggregation(get_bw_index(module_idP, CC_id),UE_info->UE_sched_ctrl[UE_id].dl_cqi[CC_id],format0)>4)
|
||||||
|
aggregation = get_aggregation(get_bw_index(module_idP, CC_id),UE_info->UE_sched_ctrl[UE_id].dl_cqi[CC_id],format0);
|
||||||
|
}else{
|
||||||
|
//aggregation = 2;
|
||||||
|
aggregation = get_aggregation(get_bw_index(module_idP, CC_id),
|
||||||
|
UE_info->UE_sched_ctrl[UE_id].dl_cqi[CC_id],
|
||||||
|
format0);
|
||||||
|
}
|
||||||
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",
|
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);
|
module_idP,frameP,subframeP,harq_pid,UE_id,rnti,CC_id, aggregation,N_RB_UL);
|
||||||
int bytes_to_schedule = UE_template->estimated_ul_buffer - UE_template->scheduled_ul_bytes;
|
int bytes_to_schedule = UE_template->estimated_ul_buffer - UE_template->scheduled_ul_bytes;
|
||||||
|
|||||||
Reference in New Issue
Block a user