Commit 1c7795d6 authored by Cedric Roux's avatar Cedric Roux

more work

Support carrier aggregation with fapi scheduler.

Some hacks:
- hack for DL CQI reporting on 2nd CC
- hack to have carrier aggregation always enabled
  (we don't use activationDeactivationCE, always passing 2 instead)
parent be4d934e
...@@ -1883,9 +1883,9 @@ void process_HARQ_ACK( ...@@ -1883,9 +1883,9 @@ void process_HARQ_ACK(
#if FAPI #if FAPI
/* TODO: handle transport block != 0 */ /* TODO: handle transport block != 0 */
#if MEGALOG #if MEGALOG
printf("SEND ack %d harq pid %d rnti %d f/sf %d/%d\n", dlsch_ACK[mp], dl_harq_pid[m], dlsch->rnti, frame, subframe); printf("SEND ack %d harq pid %d rnti %d cc %d f/sf %d/%d\n", ack, dl_harq_pid, dlsch->rnti, CC_id, frame, subframe);
#endif #endif
mac_xface->fapi_dl_ack_nack(dlsch->rnti, dl_harq_pid, 0 /* transport block */, ack); mac_xface->fapi_dl_ack_nack(CC_id, dlsch->rnti, dl_harq_pid, 0 /* transport block */, ack);
#endif #endif
// msg("[PHY] eNB %d Process %d is active (%d)\n",phy_vars_eNB->Mod_id,dl_harq_pid[m],dlsch_ACK[m]); // msg("[PHY] eNB %d Process %d is active (%d)\n",phy_vars_eNB->Mod_id,dl_harq_pid[m],dlsch_ACK[m]);
...@@ -3616,6 +3616,8 @@ fprintf(stderr, "extract CQI! Or1 = %d\n", phy_vars_eNB->ulsch_eNB[i]->harq_proc ...@@ -3616,6 +3616,8 @@ fprintf(stderr, "extract CQI! Or1 = %d\n", phy_vars_eNB->ulsch_eNB[i]->harq_proc
#endif #endif
phy_vars_eNB->eNB_UE_stats[i].rank = phy_vars_eNB->ulsch_eNB[i]->harq_processes[harq_pid]->o_RI[0]; phy_vars_eNB->eNB_UE_stats[i].rank = phy_vars_eNB->ulsch_eNB[i]->harq_processes[harq_pid]->o_RI[0];
#if FAPI #if FAPI
/* TODO: let's not do it for the moment, the hack above is enough */
#if 0
{ {
/* TODO: 2 TBs, other reporting modes - we suppose 3-0 (see 36.213 7.2.1) */ /* TODO: 2 TBs, other reporting modes - we suppose 3-0 (see 36.213 7.2.1) */
/* 13 is MAX_HL_SB */ /* 13 is MAX_HL_SB */
...@@ -3626,6 +3628,7 @@ fprintf(stderr, "extract CQI! Or1 = %d\n", phy_vars_eNB->ulsch_eNB[i]->harq_proc ...@@ -3626,6 +3628,7 @@ fprintf(stderr, "extract CQI! Or1 = %d\n", phy_vars_eNB->ulsch_eNB[i]->harq_proc
mac_xface->fapi_dl_cqi_report(phy_vars_eNB->Mod_id, phy_vars_eNB->ulsch_eNB[i]->rnti, frame, subframe, mac_xface->fapi_dl_cqi_report(phy_vars_eNB->Mod_id, phy_vars_eNB->ulsch_eNB[i]->rnti, frame, subframe,
phy_vars_eNB->eNB_UE_stats[i].DL_cqi[0], cqi_subband, phy_vars_eNB->eNB_UE_stats[i].rank); phy_vars_eNB->eNB_UE_stats[i].DL_cqi[0], cqi_subband, phy_vars_eNB->eNB_UE_stats[i].rank);
} }
#endif
#endif #endif
} }
......
This diff is collapsed.
...@@ -49,7 +49,7 @@ void fapi_ul_ack_nack(int frame, int subframe, int harq_pid, int rnti, int ack); ...@@ -49,7 +49,7 @@ void fapi_ul_ack_nack(int frame, int subframe, int harq_pid, int rnti, int ack);
void fapi_ul_lc_length(int frame, int subframe, int lcid, int length, int rnti); void fapi_ul_lc_length(int frame, int subframe, int lcid, int length, int rnti);
/* signal downlink ACKs/NACKs */ /* signal downlink ACKs/NACKs */
void fapi_dl_ack_nack(int rnti, int harq_pid, int transport_block, int ack); void fapi_dl_ack_nack(int CC_id, int rnti, int harq_pid, int transport_block, int ack);
/* signal DL CQI (mode 3-0 only, see 36.213 7.2.1) */ /* signal DL CQI (mode 3-0 only, see 36.213 7.2.1) */
void fapi_dl_cqi_report(int module_id, int rnti, int frame, int subframe, int cqi_wideband, int *cqi_subband, int rank_indication); void fapi_dl_cqi_report(int module_id, int rnti, int frame, int subframe, int cqi_wideband, int *cqi_subband, int rank_indication);
......
...@@ -357,7 +357,7 @@ typedef struct { ...@@ -357,7 +357,7 @@ typedef struct {
#if FAPI #if FAPI
void (*fapi_ul_ack_nack)(int frame, int subframe, int harq_pid, int rnti, int ack); void (*fapi_ul_ack_nack)(int frame, int subframe, int harq_pid, int rnti, int ack);
void (*fapi_dl_ack_nack)(int rnti, int harq_pid, int transport_block, int ack); void (*fapi_dl_ack_nack)(int CC_id, int rnti, int harq_pid, int transport_block, int ack);
void (*fapi_dl_cqi_report)(int module_id, int rnti, int frame, int subframe, int cqi_wideband, int *cqi_subband, int rank_indication); void (*fapi_dl_cqi_report)(int module_id, int rnti, int frame, int subframe, int cqi_wideband, int *cqi_subband, int rank_indication);
#endif #endif
......
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