Commit e1a309a7 authored by wujing's avatar wujing

change the timing of transmissionMode setting

parent c2fe241d
......@@ -2189,6 +2189,8 @@ add_new_ue(module_id_t mod_idP,
int UE_id;
int i, j;
UE_list_t *UE_list = &RC.mac[mod_idP]->UE_list;
eNB_MAC_INST *eNB = RC.mac[mod_idP];
COMMON_channels_t *cc = &eNB->common_channels[cc_idP];
LOG_D(MAC, "[eNB %d, CC_id %d] Adding UE with rnti %x (next avail %d, num_UEs %d)\n",
mod_idP,
cc_idP,
......@@ -2212,6 +2214,7 @@ add_new_ue(module_id_t mod_idP,
UE_list->ordered_ULCCids[0][UE_id] = cc_idP;
UE_list->num_UEs++;
UE_list->active[UE_id] = TRUE;
UE_list->UE_template[cc_idP][UE_id].tm=cc->p_eNB;
#if defined(USRP_REC_PLAY) // not specific to record/playback ?
UE_list->UE_template[cc_idP][UE_id].pre_assigned_mcs_ul = 0;
#endif
......@@ -2597,6 +2600,15 @@ UE_is_to_be_scheduled(module_id_t module_idP,
return 0;
}
void set_tmode(module_id_t module_idP, int CC_idP, int rntiP, int tm){
int UE_id;
eNB_MAC_INST *eNB = RC.mac[module_idP];
UE_list_t *UE_list= &eNB->UE_list;
UE_id = find_UE_id(module_idP, rntiP);
if (UE_id != -1)
UE_list->UE_template[CC_idP][UE_id].tm=tm;
}
//------------------------------------------------------------------------------
uint8_t
get_tmode(module_id_t module_idP,
......@@ -2626,7 +2638,8 @@ get_tmode(module_id_t module_idP,
CC_idP);
if (physicalConfigDedicated->antennaInfo->present == LTE_PhysicalConfigDedicated__antennaInfo_PR_explicitValue) {
return (1 + physicalConfigDedicated->antennaInfo->choice.explicitValue.transmissionMode);
// return (1 + physicalConfigDedicated->antennaInfo->choice.explicitValue.transmissionMode);
return eNB->UE_list.UE_template[CC_idP][UE_idP].tm;
}
if (physicalConfigDedicated->antennaInfo->present == LTE_PhysicalConfigDedicated__antennaInfo_PR_defaultValue) {
......
......@@ -919,7 +919,7 @@ typedef struct {
sub_frame_t Msg2_subframe;
LTE_PhysicalConfigDedicated_t *physicalConfigDedicated;
int tm;
} UE_TEMPLATE;
/*! \brief scheduling control information set through an API (not used)*/
......
......@@ -1237,7 +1237,7 @@ void fill_nfapi_dl_dci_1A(nfapi_dl_config_request_pdu_t * dl_config_pdu,
nfapi_ul_config_request_pdu_t *has_ul_grant(module_id_t module_idP,
int CC_idP, uint16_t subframeP,
uint16_t rnti);
void set_tmode(module_id_t module_idP, int CC_idP, int rntiP, int tm);
uint8_t get_tmode(module_id_t module_idP, int CC_idP, int UE_idP);
uint8_t get_ul_req_index(module_id_t module_idP, int CC_idP,
......
......@@ -5755,6 +5755,16 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
ue_context_pP->ue_context.DRB_configList2[xid] = NULL;
} // end if DRB_configList != NULL
struct LTE_PhysicalConfigDedicated **physicalConfigDedicated = &ue_context_pP->ue_context.physicalConfigDedicated;
if (*physicalConfigDedicated) {
if ((*physicalConfigDedicated)->antennaInfo) {
if((*physicalConfigDedicated)->antennaInfo->choice.explicitValue.transmissionMode>1){
set_tmode(ctxt_pP->module_id, ue_context_pP->ue_context.primaryCC_id, ue_context_pP->ue_context.rnti, (*physicalConfigDedicated)->antennaInfo->choice.explicitValue.transmissionMode+1);
}
}
}
if(DRB_Release_configList2 != NULL) {
for (int i = 0; i < DRB_Release_configList2->list.count; i++) {
if (DRB_Release_configList2->list.array[i]) {
......
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