Commit a91a25c9 authored by Xenofon Foukas's avatar Xenofon Foukas

Changed signature of DL scheduling function of agent

parent 64a02f3b
...@@ -58,7 +58,6 @@ typedef struct { ...@@ -58,7 +58,6 @@ typedef struct {
/// dl_info is already initialized as prp_dl_mac_config and fills the /// dl_info is already initialized as prp_dl_mac_config and fills the
/// prp_dl_data part of it /// prp_dl_data part of it
void (*enb_agent_schedule_ue_spec)(mid_t mod_id, uint32_t frame, uint32_t subframe, void (*enb_agent_schedule_ue_spec)(mid_t mod_id, uint32_t frame, uint32_t subframe,
unsigned int *nb_rb_used, unsigned int *nCCE_used,
int *mbsfn_flag, Protocol__ProgranMessage *dl_info); int *mbsfn_flag, Protocol__ProgranMessage *dl_info);
/*TODO: Fill in with the rest of the MAC layer technology specific callbacks (UL/DL scheduling, RACH info etc)*/ /*TODO: Fill in with the rest of the MAC layer technology specific callbacks (UL/DL scheduling, RACH info etc)*/
......
...@@ -78,8 +78,6 @@ schedule_ue_spec_default( ...@@ -78,8 +78,6 @@ schedule_ue_spec_default(
mid_t mod_id, mid_t mod_id,
uint32_t frame, uint32_t frame,
uint32_t subframe, uint32_t subframe,
unsigned int *nb_rb_used,
unsigned int *nCCE_used,
int *mbsfn_flag, int *mbsfn_flag,
Protocol__ProgranMessage *dl_info Protocol__ProgranMessage *dl_info
) )
...@@ -146,8 +144,8 @@ schedule_ue_spec_default( ...@@ -146,8 +144,8 @@ schedule_ue_spec_default(
for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) { for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
min_rb_unit[CC_id] = get_min_rb_unit(mod_id, CC_id); min_rb_unit[CC_id] = get_min_rb_unit(mod_id, CC_id);
frame_parms[CC_id] = mac_xface->get_lte_frame_parms(mod_id, CC_id); frame_parms[CC_id] = mac_xface->get_lte_frame_parms(mod_id, CC_id);
total_nb_available_rb[CC_id] = frame_parms[CC_id]->N_RB_DL - nb_rb_used[CC_id]; //total_nb_available_rb[CC_id] = frame_parms[CC_id]->N_RB_DL - nb_rb_used[CC_id];
nCCE[CC_id] = mac_xface->get_nCCE_max(mod_id, CC_id) - nCCE_used[CC_id]; //nCCE[CC_id] = mac_xface->get_nCCE_max(mod_id, CC_id) - nCCE_used[CC_id];
N_RBG[CC_id] = frame_parms[CC_id]->N_RBG; N_RBG[CC_id] = frame_parms[CC_id]->N_RBG;
// store the global enb stats: // store the global enb stats:
...@@ -195,8 +193,8 @@ schedule_ue_spec_default( ...@@ -195,8 +193,8 @@ schedule_ue_spec_default(
} }
if ((ue_sched_ctl->pre_nb_available_rbs[CC_id] == 0) || (nCCE[CC_id] < (1<<aggregation))) { if ((ue_sched_ctl->pre_nb_available_rbs[CC_id] == 0) || (nCCE[CC_id] < (1<<aggregation))) {
LOG_D(MAC,"[eNB %d] Frame %d : no RB allocated for UE %d on CC_id %d: continue \n", // LOG_D(MAC,"[eNB %d] Frame %d : no RB allocated for UE %d on CC_id %d: continue \n",
mod_id, frame, UE_id, CC_id, nb_rb_used[CC_id], ue_sched_ctl->pre_nb_available_rbs[CC_id], nCCE[CC_id], aggregation); // mod_id, frame, UE_id, CC_id, nb_rb_used[CC_id], ue_sched_ctl->pre_nb_available_rbs[CC_id], nCCE[CC_id], aggregation);
//if(mac_xface->get_transmission_mode(module_idP,rnti)==5) //if(mac_xface->get_transmission_mode(module_idP,rnti)==5)
continue_flag=1; //to next user (there might be rbs availiable for other UEs in TM5 continue_flag=1; //to next user (there might be rbs availiable for other UEs in TM5
// else // else
...@@ -329,7 +327,7 @@ schedule_ue_spec_default( ...@@ -329,7 +327,7 @@ schedule_ue_spec_default(
nb_available_rb -= nb_rb; nb_available_rb -= nb_rb;
aggregation = process_ue_cqi(mod_id, UE_id); aggregation = process_ue_cqi(mod_id, UE_id);
nCCE[CC_id]-=(1<<aggregation); // adjust the remaining nCCE nCCE[CC_id]-=(1<<aggregation); // adjust the remaining nCCE
nCCE_used[CC_id] += (1<<aggregation); //nCCE_used[CC_id] += (1<<aggregation);
PHY_vars_eNB_g[mod_id][CC_id]->mu_mimo_mode[UE_id].pre_nb_available_rbs = nb_rb; PHY_vars_eNB_g[mod_id][CC_id]->mu_mimo_mode[UE_id].pre_nb_available_rbs = nb_rb;
PHY_vars_eNB_g[mod_id][CC_id]->mu_mimo_mode[UE_id].dl_pow_off = ue_sched_ctl->dl_pow_off[CC_id]; PHY_vars_eNB_g[mod_id][CC_id]->mu_mimo_mode[UE_id].dl_pow_off = ue_sched_ctl->dl_pow_off[CC_id];
...@@ -765,9 +763,9 @@ schedule_ue_spec_default( ...@@ -765,9 +763,9 @@ schedule_ue_spec_default(
dl_dci->has_aggr_level = 1; dl_dci->has_aggr_level = 1;
dl_dci->aggr_level = aggregation; dl_dci->aggr_level = aggregation;
dl_dci->has_cce_index = 1; dl_dci->has_cce_index = 1;
dl_dci->cce_index = nCCE_used[CC_id]; // dl_dci->cce_index = nCCE_used[CC_id];
nCCE[CC_id]-=(1<<aggregation); // adjust the remaining nCCE nCCE[CC_id]-=(1<<aggregation); // adjust the remaining nCCE
nCCE_used[CC_id]+=(1<<aggregation); // adjust the remaining nCCE // nCCE_used[CC_id]+=(1<<aggregation); // adjust the remaining nCCE
UE_list->UE_template[CC_id][UE_id].nb_rb[harq_pid] = nb_rb; UE_list->UE_template[CC_id][UE_id].nb_rb[harq_pid] = nb_rb;
add_ue_dlsch_info(mod_id, add_ue_dlsch_info(mod_id,
...@@ -1044,7 +1042,6 @@ schedule_ue_spec_default( ...@@ -1044,7 +1042,6 @@ schedule_ue_spec_default(
void apply_scheduling_decisions(mid_t mod_id, void apply_scheduling_decisions(mid_t mod_id,
uint32_t frame, uint32_t frame,
uint32_t subframe, uint32_t subframe,
uint32_t *rballoc,
int *mbsfn_flag, int *mbsfn_flag,
Protocol__ProgranMessage *dl_scheduling_info) { Protocol__ProgranMessage *dl_scheduling_info) {
......
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