Merge remote-tracking branch 'origin/various-fixes-2016-w50' into develop_integration_wk01
This commit is contained in:
@@ -1691,7 +1691,7 @@ endif()
|
|||||||
# Atlas is required by some packages, but not found in pkg-config
|
# Atlas is required by some packages, but not found in pkg-config
|
||||||
if(EXISTS "/usr/include/atlas/cblas.h")
|
if(EXISTS "/usr/include/atlas/cblas.h")
|
||||||
include_directories("/usr/include/atlas")
|
include_directories("/usr/include/atlas")
|
||||||
list(APPEND ATLAS_LIBRARIES lapack cblas atlas)
|
list(APPEND ATLAS_LIBRARIES cblas atlas lapack)
|
||||||
else()
|
else()
|
||||||
message("No Blas/Atlas libs found, some targets will fail")
|
message("No Blas/Atlas libs found, some targets will fail")
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -1270,12 +1270,6 @@ int generate_eNB_dlsch_params_from_dci(int frame,
|
|||||||
dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][NPRB-1];
|
dlsch0_harq->TBS = TBStable[get_I_TBS(dlsch0_harq->mcs)][NPRB-1];
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
LOG_E(PHY,"DL Received HarqReTx round=%d mcs=%d rballoc=%d rv=%d \n",
|
|
||||||
dlsch0_harq->round,mcs,rballoc,rv);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
dlsch[0]->current_harq_pid = harq_pid;
|
dlsch[0]->current_harq_pid = harq_pid;
|
||||||
dlsch[0]->harq_ids[subframe] = harq_pid;
|
dlsch[0]->harq_ids[subframe] = harq_pid;
|
||||||
|
|||||||
@@ -1440,7 +1440,7 @@ unsigned int ulsch_decoding(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
|
|||||||
|
|
||||||
j2+=Q_m;
|
j2+=Q_m;
|
||||||
}
|
}
|
||||||
|
/* To be improved according to alignment of j2
|
||||||
#if defined(__x86_64__)||defined(__i386__)
|
#if defined(__x86_64__)||defined(__i386__)
|
||||||
#ifndef __AVX2__
|
#ifndef __AVX2__
|
||||||
for (iprime=0; iprime<G;iprime+=8,j2+=8)
|
for (iprime=0; iprime<G;iprime+=8,j2+=8)
|
||||||
@@ -1452,9 +1452,24 @@ unsigned int ulsch_decoding(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
|
|||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
for (iprime=0; iprime<G;iprime+=8,j2+=8)
|
for (iprime=0; iprime<G;iprime+=8,j2+=8)
|
||||||
*((int16x8_t *)&ulsch_harq->e[iprime]) = *((int16x8_t *)&y[j2]);
|
*((int16x8_t *)&ulsch_harq->e[iprime]) = *((int16x8_t *)&y[j2]);
|
||||||
#endif
|
#endif
|
||||||
|
*/
|
||||||
|
int16_t *yp,*ep;
|
||||||
|
for (iprime=0,yp=&y[j2],ep=&ulsch_harq->e[0];
|
||||||
|
iprime<G;
|
||||||
|
iprime+=8,j2+=8,ep+=8,yp+=8) {
|
||||||
|
ep[0] = yp[0];
|
||||||
|
ep[1] = yp[1];
|
||||||
|
ep[2] = yp[2];
|
||||||
|
ep[3] = yp[3];
|
||||||
|
ep[4] = yp[4];
|
||||||
|
ep[5] = yp[5];
|
||||||
|
ep[6] = yp[6];
|
||||||
|
ep[7] = yp[7];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
stop_meas(&eNB->ulsch_demultiplexing_stats);
|
stop_meas(&eNB->ulsch_demultiplexing_stats);
|
||||||
|
|
||||||
// printf("after ACKNAK2 c[%d] = %p (iprime %d, G %d)\n",0,ulsch_harq->c[0],iprime,G);
|
// printf("after ACKNAK2 c[%d] = %p (iprime %d, G %d)\n",0,ulsch_harq->c[0],iprime,G);
|
||||||
|
|||||||
@@ -2380,7 +2380,7 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
|
|||||||
enb_properties.properties[enb_properties_index]->rrh_gw_config[j].rawif5_mobipass = 1;
|
enb_properties.properties[enb_properties_index]->rrh_gw_config[j].rawif5_mobipass = 1;
|
||||||
} else {//if (strcmp(preference, "no") == 0)
|
} else {//if (strcmp(preference, "no") == 0)
|
||||||
enb_properties.properties[enb_properties_index]->rrh_gw_config[j].udp = 1;
|
enb_properties.properties[enb_properties_index]->rrh_gw_config[j].udp = 1;
|
||||||
enb_properties.properties[enb_properties_index]->rrh_gw_config[j].raw = 1;
|
enb_properties.properties[enb_properties_index]->rrh_gw_config[j].raw = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp(rf_preference, "exmimo") == 0) {
|
if (strcmp(rf_preference, "exmimo") == 0) {
|
||||||
|
|||||||
@@ -814,15 +814,15 @@ schedule_ue_spec(
|
|||||||
if (rlc_status.bytes_in_buffer > 0) { // There is DCCH to transmit
|
if (rlc_status.bytes_in_buffer > 0) { // There is DCCH to transmit
|
||||||
LOG_D(MAC,"[eNB %d] Frame %d, DL-DCCH->DLSCH CC_id %d, Requesting %d bytes from RLC (RRC message)\n",
|
LOG_D(MAC,"[eNB %d] Frame %d, DL-DCCH->DLSCH CC_id %d, Requesting %d bytes from RLC (RRC message)\n",
|
||||||
module_idP,frameP,CC_id,TBS-header_len_dcch);
|
module_idP,frameP,CC_id,TBS-header_len_dcch);
|
||||||
sdu_lengths[0] += mac_rlc_data_req(
|
sdu_lengths[0] = mac_rlc_data_req(
|
||||||
module_idP,
|
module_idP,
|
||||||
rnti,
|
rnti,
|
||||||
module_idP,
|
module_idP,
|
||||||
frameP,
|
frameP,
|
||||||
ENB_FLAG_YES,
|
ENB_FLAG_YES,
|
||||||
MBMS_FLAG_NO,
|
MBMS_FLAG_NO,
|
||||||
DCCH,
|
DCCH,
|
||||||
(char *)&dlsch_buffer[sdu_lengths[0]]);
|
(char *)&dlsch_buffer[0]);
|
||||||
|
|
||||||
T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP),
|
T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP),
|
||||||
T_INT(harq_pid), T_INT(DCCH), T_INT(sdu_lengths[0]));
|
T_INT(harq_pid), T_INT(DCCH), T_INT(sdu_lengths[0]));
|
||||||
@@ -847,7 +847,7 @@ schedule_ue_spec(
|
|||||||
sdu_length_total = 0;
|
sdu_length_total = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// check for DCCH1 and update header information (assume 2 byte sub-header)
|
// check for DCCH1 and update header information (assume 2 byte sub-header)
|
||||||
if (TBS-ta_len-header_len_dcch-sdu_length_total > 0 ) {
|
if (TBS-ta_len-header_len_dcch-sdu_length_total > 0 ) {
|
||||||
rlc_status = mac_rlc_status_ind(
|
rlc_status = mac_rlc_status_ind(
|
||||||
@@ -860,9 +860,10 @@ schedule_ue_spec(
|
|||||||
DCCH+1,
|
DCCH+1,
|
||||||
(TBS-ta_len-header_len_dcch-sdu_length_total)); // transport block set size less allocations for timing advance and
|
(TBS-ta_len-header_len_dcch-sdu_length_total)); // transport block set size less allocations for timing advance and
|
||||||
// DCCH SDU
|
// DCCH SDU
|
||||||
|
sdu_lengths[num_sdus] = 0;
|
||||||
|
|
||||||
if (rlc_status.bytes_in_buffer > 0) {
|
if (rlc_status.bytes_in_buffer > 0) {
|
||||||
LOG_D(MAC,"[eNB %d], Frame %d, DCCH1->DLSCH, CC_id %d, Requesting %d bytes from RLC (RRC message)\n",
|
LOG_I(MAC,"[eNB %d], Frame %d, DCCH1->DLSCH, CC_id %d, Requesting %d bytes from RLC (RRC message)\n",
|
||||||
module_idP,frameP,CC_id,TBS-header_len_dcch-sdu_length_total);
|
module_idP,frameP,CC_id,TBS-header_len_dcch-sdu_length_total);
|
||||||
sdu_lengths[num_sdus] += mac_rlc_data_req(
|
sdu_lengths[num_sdus] += mac_rlc_data_req(
|
||||||
module_idP,
|
module_idP,
|
||||||
@@ -872,7 +873,7 @@ schedule_ue_spec(
|
|||||||
ENB_FLAG_YES,
|
ENB_FLAG_YES,
|
||||||
MBMS_FLAG_NO,
|
MBMS_FLAG_NO,
|
||||||
DCCH+1,
|
DCCH+1,
|
||||||
(char *)&dlsch_buffer[sdu_lengths[num_sdus]]);
|
(char *)&dlsch_buffer[sdu_length_total]);
|
||||||
|
|
||||||
T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP),
|
T(T_ENB_MAC_UE_DL_SDU, T_INT(module_idP), T_INT(CC_id), T_INT(rnti), T_INT(frameP), T_INT(subframeP),
|
||||||
T_INT(harq_pid), T_INT(DCCH+1), T_INT(sdu_lengths[num_sdus]));
|
T_INT(harq_pid), T_INT(DCCH+1), T_INT(sdu_lengths[num_sdus]));
|
||||||
|
|||||||
@@ -774,8 +774,8 @@ rrc_eNB_process_S1AP_DOWNLINK_NAS(
|
|||||||
ue_initial_id = S1AP_DOWNLINK_NAS (msg_p).ue_initial_id;
|
ue_initial_id = S1AP_DOWNLINK_NAS (msg_p).ue_initial_id;
|
||||||
eNB_ue_s1ap_id = S1AP_DOWNLINK_NAS (msg_p).eNB_ue_s1ap_id;
|
eNB_ue_s1ap_id = S1AP_DOWNLINK_NAS (msg_p).eNB_ue_s1ap_id;
|
||||||
ue_context_p = rrc_eNB_get_ue_context_from_s1ap_ids(instance, ue_initial_id, eNB_ue_s1ap_id);
|
ue_context_p = rrc_eNB_get_ue_context_from_s1ap_ids(instance, ue_initial_id, eNB_ue_s1ap_id);
|
||||||
srb_id = ue_context_p->ue_context.Srb2.Srb_info.Srb_id;
|
|
||||||
|
|
||||||
LOG_I(RRC, "[eNB %d] Received %s: ue_initial_id %d, eNB_ue_s1ap_id %d\n",
|
LOG_I(RRC, "[eNB %d] Received %s: ue_initial_id %d, eNB_ue_s1ap_id %d\n",
|
||||||
instance,
|
instance,
|
||||||
msg_name,
|
msg_name,
|
||||||
@@ -822,6 +822,9 @@ rrc_eNB_process_S1AP_DOWNLINK_NAS(
|
|||||||
} else {
|
} else {
|
||||||
PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt, instance, ENB_FLAG_YES, ue_context_p->ue_context.rnti, 0, 0);
|
PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt, instance, ENB_FLAG_YES, ue_context_p->ue_context.rnti, 0, 0);
|
||||||
|
|
||||||
|
srb_id = ue_context_p->ue_context.Srb2.Srb_info.Srb_id;
|
||||||
|
|
||||||
|
|
||||||
/* Is it the first income from S1AP ? */
|
/* Is it the first income from S1AP ? */
|
||||||
if (ue_context_p->ue_context.eNB_ue_s1ap_id == 0) {
|
if (ue_context_p->ue_context.eNB_ue_s1ap_id == 0) {
|
||||||
ue_context_p->ue_context.eNB_ue_s1ap_id = S1AP_DOWNLINK_NAS (msg_p).eNB_ue_s1ap_id;
|
ue_context_p->ue_context.eNB_ue_s1ap_id = S1AP_DOWNLINK_NAS (msg_p).eNB_ue_s1ap_id;
|
||||||
|
|||||||
Reference in New Issue
Block a user