Create lists for UL HARQ management
This commit is contained in:
@@ -1672,6 +1672,13 @@ int add_new_nr_ue(module_id_t mod_idP, rnti_t rntiP, NR_CellGroupConfig_t *secon
|
|||||||
add_tail_nr_list(&sched_ctrl->available_dl_harq, harq);
|
add_tail_nr_list(&sched_ctrl->available_dl_harq, harq);
|
||||||
create_nr_list(&sched_ctrl->feedback_dl_harq, nrofHARQ);
|
create_nr_list(&sched_ctrl->feedback_dl_harq, nrofHARQ);
|
||||||
create_nr_list(&sched_ctrl->retrans_dl_harq, nrofHARQ);
|
create_nr_list(&sched_ctrl->retrans_dl_harq, nrofHARQ);
|
||||||
|
|
||||||
|
// add all available UL HARQ processes for this UE
|
||||||
|
create_nr_list(&sched_ctrl->available_ul_harq, 16);
|
||||||
|
for (int harq = 0; harq < 16; harq++)
|
||||||
|
add_tail_nr_list(&sched_ctrl->available_ul_harq, harq);
|
||||||
|
create_nr_list(&sched_ctrl->feedback_ul_harq, 16);
|
||||||
|
create_nr_list(&sched_ctrl->retrans_ul_harq, 16);
|
||||||
LOG_I(MAC, "gNB %d] Add NR UE_id %d : rnti %x\n",
|
LOG_I(MAC, "gNB %d] Add NR UE_id %d : rnti %x\n",
|
||||||
mod_idP,
|
mod_idP,
|
||||||
UE_id,
|
UE_id,
|
||||||
@@ -1715,6 +1722,9 @@ void mac_remove_nr_ue(module_id_t mod_id, rnti_t rnti)
|
|||||||
destroy_nr_list(&sched_ctrl->available_dl_harq);
|
destroy_nr_list(&sched_ctrl->available_dl_harq);
|
||||||
destroy_nr_list(&sched_ctrl->feedback_dl_harq);
|
destroy_nr_list(&sched_ctrl->feedback_dl_harq);
|
||||||
destroy_nr_list(&sched_ctrl->retrans_dl_harq);
|
destroy_nr_list(&sched_ctrl->retrans_dl_harq);
|
||||||
|
destroy_nr_list(&sched_ctrl->available_ul_harq);
|
||||||
|
destroy_nr_list(&sched_ctrl->feedback_ul_harq);
|
||||||
|
destroy_nr_list(&sched_ctrl->retrans_ul_harq);
|
||||||
LOG_I(MAC, "[gNB %d] Remove NR UE_id %d : rnti %x\n",
|
LOG_I(MAC, "[gNB %d] Remove NR UE_id %d : rnti %x\n",
|
||||||
mod_id,
|
mod_id,
|
||||||
UE_id,
|
UE_id,
|
||||||
|
|||||||
@@ -443,7 +443,14 @@ typedef struct {
|
|||||||
NR_list_t feedback_dl_harq;
|
NR_list_t feedback_dl_harq;
|
||||||
/// HARQ processes that await retransmission
|
/// HARQ processes that await retransmission
|
||||||
NR_list_t retrans_dl_harq;
|
NR_list_t retrans_dl_harq;
|
||||||
|
/// information about every UL HARQ process
|
||||||
NR_UE_ul_harq_t ul_harq_processes[NR_MAX_NB_HARQ_PROCESSES];
|
NR_UE_ul_harq_t ul_harq_processes[NR_MAX_NB_HARQ_PROCESSES];
|
||||||
|
/// UL HARQ processes that are free
|
||||||
|
NR_list_t available_ul_harq;
|
||||||
|
/// UL HARQ processes that await feedback
|
||||||
|
NR_list_t feedback_ul_harq;
|
||||||
|
/// UL HARQ processes that await retransmission
|
||||||
|
NR_list_t retrans_ul_harq;
|
||||||
int dummy;
|
int dummy;
|
||||||
NR_UE_mac_ce_ctrl_t UE_mac_ce_ctrl;// MAC CE related information
|
NR_UE_mac_ce_ctrl_t UE_mac_ce_ctrl;// MAC CE related information
|
||||||
} NR_UE_sched_ctrl_t;
|
} NR_UE_sched_ctrl_t;
|
||||||
|
|||||||
Reference in New Issue
Block a user