Commit 29eb0719 authored by Sakthivel Velumani's avatar Sakthivel Velumani

Changed mac_IF_mutex

parent 69507efa
......@@ -581,9 +581,7 @@ void processSlotTX(void *arg) {
ul_indication.slot_tx = proc->nr_slot_tx;
ul_indication.phy_data = &phy_data;
pthread_mutex_lock(&UE->mac_IF_mutex);
UE->if_inst->ul_indication(&ul_indication);
pthread_mutex_unlock(&UE->mac_IF_mutex);
stop_meas(&UE->ue_ul_indication_stats);
}
......@@ -615,9 +613,7 @@ void UE_processing(void *arg) {
if(UE->if_inst != NULL && UE->if_inst->dl_indication != NULL) {
nr_downlink_indication_t dl_indication;
nr_fill_dl_indication(&dl_indication, NULL, NULL, proc, UE, &phy_data);
pthread_mutex_lock(&UE->mac_IF_mutex);
UE->if_inst->dl_indication(&dl_indication, NULL);
pthread_mutex_unlock(&UE->mac_IF_mutex);
}
uint64_t a=rdtsc_oai();
......@@ -766,8 +762,6 @@ void *UE_thread(void *arg) {
notifiedFIFO_t freeBlocks;
initNotifiedFIFO_nothreadSafe(&freeBlocks);
pthread_mutex_init(&UE->mac_IF_mutex, NULL);
int timing_advance = UE->timing_advance;
NR_UE_MAC_INST_t *mac = get_mac_inst(0);
......
......@@ -652,7 +652,6 @@ typedef struct {
void *phy_sim_pdsch_rxdataF_comp;
void *phy_sim_pdsch_dl_ch_estimates;
void *phy_sim_pdsch_dl_ch_estimates_ext;
pthread_mutex_t mac_IF_mutex;
notifiedFIFO_t phy_config_ind;
} PHY_VARS_NR_UE;
......
......@@ -538,9 +538,7 @@ int nr_ue_pdcch_procedures(PHY_VARS_NR_UE *ue,
// fill dl_indication message
nr_fill_dl_indication(&dl_indication, &dci_ind, NULL, proc, ue, phy_data);
// send to mac
pthread_mutex_lock(&ue->mac_IF_mutex);
ue->if_inst->dl_indication(&dl_indication, NULL);
pthread_mutex_unlock(&ue->mac_IF_mutex);
stop_meas(&ue->dlsch_rx_pdcch_stats);
......@@ -856,9 +854,7 @@ bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
}
// send to mac
if (ue->if_inst && ue->if_inst->dl_indication) {
pthread_mutex_lock(&ue->mac_IF_mutex);
ue->if_inst->dl_indication(&dl_indication, ul_time_alignment);
pthread_mutex_unlock(&ue->mac_IF_mutex);
}
if (ue->mac_enabled == 1) { // TODO: move this from PHY to MAC layer!
......
......@@ -66,6 +66,7 @@ queue_t nr_dl_tti_req_queue;
queue_t nr_tx_req_queue;
queue_t nr_ul_dci_req_queue;
queue_t nr_ul_tti_req_queue;
pthread_mutex_t mac_IF_mutex;
void nrue_init_standalone_socket(int tx_port, int rx_port)
{
......@@ -1118,6 +1119,7 @@ void update_harq_status(module_id_t module_id, uint8_t harq_pid, uint8_t ack_nac
int nr_ue_ul_indication(nr_uplink_indication_t *ul_info){
pthread_mutex_lock(&mac_IF_mutex);
NR_UE_L2_STATE_t ret=0;
module_id_t module_id = ul_info->module_id;
NR_UE_MAC_INST_t *mac = get_mac_inst(module_id);
......@@ -1146,11 +1148,13 @@ int nr_ue_ul_indication(nr_uplink_indication_t *ul_info){
break;
}
pthread_mutex_unlock(&mac_IF_mutex);
return 0;
}
int nr_ue_dl_indication(nr_downlink_indication_t *dl_info, NR_UL_TIME_ALIGNMENT_t *ul_time_alignment){
pthread_mutex_lock(&mac_IF_mutex);
uint32_t ret_mask = 0x0;
module_id_t module_id = dl_info->module_id;
NR_UE_MAC_INST_t *mac = get_mac_inst(module_id);
......@@ -1247,6 +1251,7 @@ int nr_ue_dl_indication(nr_downlink_indication_t *dl_info, NR_UL_TIME_ALIGNMENT_
dl_info->rx_ind = NULL;
}
}
pthread_mutex_unlock(&mac_IF_mutex);
return 0;
}
......@@ -1267,6 +1272,7 @@ nr_ue_if_module_t *nr_ue_if_module_init(uint32_t module_id){
nr_ue_if_module_inst[module_id]->dl_indication = nr_ue_dl_indication;
nr_ue_if_module_inst[module_id]->ul_indication = nr_ue_ul_indication;
}
pthread_mutex_init(&mac_IF_mutex, NULL);
return nr_ue_if_module_inst[module_id];
}
......
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