Commit a21c0b80 authored by Cedric Roux's avatar Cedric Roux

bugfix: fix RRC Release 10 compilation

The following compilation did not work anymore:

    ./build_oai --eNB -w USRP -r Rel10 -c

(Rel8 still does not work.)
parent be8d32d5
......@@ -1089,6 +1089,10 @@ int32_t generate_prach( PHY_VARS_UE *ue, uint8_t eNB_id, uint8_t subframe, uint1
}
//__m128i mmtmpX0,mmtmpX1,mmtmpX2,mmtmpX3;
#ifndef Rel14
#define rx_prach0 rx_prach
#endif
void rx_prach0(PHY_VARS_eNB *eNB,
RU_t *ru,
uint16_t *max_preamble,
......@@ -1764,9 +1768,8 @@ void rx_prach0(PHY_VARS_eNB *eNB,
#ifndef Rel14
#define rx_prach rx_prach0
#else
#ifdef Rel14
void rx_prach(PHY_VARS_eNB *eNB,
RU_t *ru,
uint16_t *max_preamble,
......@@ -1806,7 +1809,8 @@ void rx_prach(PHY_VARS_eNB *eNB,
}
}
}
#endif
#endif /* Rel14 */
void init_prach_tables(int N_ZC)
{
......
......@@ -2151,11 +2151,10 @@ void rx_prach(PHY_VARS_eNB *phy_vars_eNB,RU_t *ru,
uint16_t *max_preamble,
uint16_t *max_preamble_energy,
uint16_t *max_preamble_delay,
#ifdef Rel14
uint16_t Nf, uint8_t tdd_mapindex,
uint8_t br_flag
#else
uint16_t Nf, uint8_t tdd_mapindex
#ifdef Rel14
,
uint8_t br_flag
#endif
);
/*!
......
......@@ -744,8 +744,10 @@ typedef struct RU_t_s{
int (*wakeup_rxtx)(struct PHY_VARS_eNB_s *eNB, struct RU_t_s *ru);
/// function pointer to wakeup routine in lte-enb.
void (*wakeup_prach_eNB)(struct PHY_VARS_eNB_s *eNB,struct RU_t_s *ru,int frame,int subframe);
#ifdef Rel14
/// function pointer to wakeup routine in lte-enb.
void (*wakeup_prach_eNB_br)(struct PHY_VARS_eNB_s *eNB,struct RU_t_s *ru,int frame,int subframe);
#endif
/// function pointer to eNB entry routine
void (*eNB_top)(struct PHY_VARS_eNB_s *eNB, int frame_rx, int subframe_rx, char *string);
/// Timing statistics
......
......@@ -144,8 +144,6 @@ typedef struct {
uint8_t prach_hopping_offset[4];
} PRACH_eMTC_CONFIG_INFO;
#endif
/// PRACH-ConfigSIB or PRACH-Config from 36.331 RRC spec
typedef struct {
/// Parameter: RACH_ROOT_SEQUENCE, see TS 36.211 (5.7.1). \vr{[0..837]}
......@@ -158,6 +156,8 @@ typedef struct {
#endif
} PRACH_eMTC_CONFIG_COMMON;
#endif
/// Enumeration for parameter \f$N_\text{ANRep}\f$ \ref PUCCH_CONFIG_DEDICATED::repetitionFactor.
typedef enum {
n2=0,
......
......@@ -63,6 +63,7 @@ void handle_nfapi_dci_dl_pdu(PHY_VARS_eNB *eNB,
}
#ifdef Rel14
void handle_nfapi_mpdcch_pdu(PHY_VARS_eNB *eNB,
eNB_rxtx_proc_t *proc,
nfapi_dl_config_request_pdu_t *dl_config_pdu)
......@@ -76,6 +77,7 @@ void handle_nfapi_mpdcch_pdu(PHY_VARS_eNB *eNB,
// copy dci configuration into eNB structure
fill_mdci_and_dlsch(eNB,proc,&mpdcch_vars->mdci_alloc[mpdcch_vars->num_dci],pdu);
}
#endif
void handle_nfapi_hi_dci0_dci_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t *proc,
......@@ -265,14 +267,21 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr
dlsch0_harq->codeword = 0;
dlsch0_harq->pdsch_start = rel10->pdsch_start;
}
#endif
dlsch0->i0 = rel13->initial_transmission_sf_io;
#endif
#ifdef Rel14
LOG_D(PHY,"dlsch->i0:%04x dlsch0_harq[pdsch_start:%d nb_rb:%d vrb_type:%d rvidx:%d Nl:%d mimo_mode:%d dl_power_off:%d round:%d status:%d TBS:%d Qm:%d codeword:%d rb_alloc:%d] rel8[length:%d]\n",
dlsch0->i0,
dlsch0_harq->pdsch_start, dlsch0_harq->nb_rb, dlsch0_harq->vrb_type, dlsch0_harq->rvidx, dlsch0_harq->Nl, dlsch0_harq->mimo_mode, dlsch0_harq->dl_power_off, dlsch0_harq->round, dlsch0_harq->status, dlsch0_harq->TBS, dlsch0_harq->Qm, dlsch0_harq->codeword, dlsch0_harq->rb_alloc[0],
rel8->length
);
#else
LOG_D(PHY,"dlsch0_harq[pdsch_start:%d nb_rb:%d vrb_type:%d rvidx:%d Nl:%d mimo_mode:%d dl_power_off:%d round:%d status:%d TBS:%d Qm:%d codeword:%d rb_alloc:%d] rel8[length:%d]\n",
dlsch0_harq->pdsch_start, dlsch0_harq->nb_rb, dlsch0_harq->vrb_type, dlsch0_harq->rvidx, dlsch0_harq->Nl, dlsch0_harq->mimo_mode, dlsch0_harq->dl_power_off, dlsch0_harq->round, dlsch0_harq->status, dlsch0_harq->TBS, dlsch0_harq->Qm, dlsch0_harq->codeword, dlsch0_harq->rb_alloc[0],
rel8->length
);
#endif
}
uint16_t to_beta_offset_harqack[16]={16,20,25,32,40,50,64,80,101,127,160,248,400,640,1008,8};
......@@ -764,8 +773,10 @@ void schedule_response(Sched_Rsp_t *Sched_INFO)
break;
#ifdef Rel14
case NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE:
#ifdef Rel14
handle_nfapi_mpdcch_pdu(eNB,proc,dl_config_pdu);
eNB->mpdcch_vars[subframe&1].num_dci++;
#endif
break;
#endif
}
......
......@@ -52,8 +52,9 @@
extern uint32_t nfapi_mode;
void prach_procedures(PHY_VARS_eNB *eNB,
void prach_procedures(PHY_VARS_eNB *eNB
#ifdef Rel14
,
int br_flag
#endif
) {
......
......@@ -193,8 +193,12 @@ void config_mib(int Mod_idP,
int NcpP,
int p_eNBP,
uint32_t dl_CarrierFreqP,
uint32_t ul_CarrierFreqP,
uint32_t pbch_repetitionP) {
uint32_t ul_CarrierFreqP
#ifdef Rel14
,
uint32_t pbch_repetitionP
#endif
) {
nfapi_config_request_t *cfg = &RC.mac[Mod_idP]->config[CC_idP];
......
......@@ -1642,6 +1642,8 @@ initiate_ra_proc(module_id_t module_idP,
COMMON_channels_t *cc = &RC.mac[module_idP]->common_channels[CC_id];
RA_t *ra = &cc->ra[0];
#ifdef Rel14
struct PRACH_ConfigSIB_v1310 *ext4_prach = NULL;
PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13 = NULL;
......@@ -1653,6 +1655,9 @@ initiate_ra_proc(module_id_t module_idP,
prach_ParametersListCE_r13 =
&ext4_prach->prach_ParametersListCE_r13;
}
#endif /* Rel14 */
LOG_D(MAC,
"[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d Initiating RA procedure for preamble index %d\n",
module_idP, CC_id, frameP, subframeP, preamble_index);
......@@ -1666,6 +1671,8 @@ initiate_ra_proc(module_id_t module_idP,
uint16_t msg2_subframe = subframeP;
int offset;
#ifdef Rel14
if (prach_ParametersListCE_r13 &&
prach_ParametersListCE_r13->list.count < rach_resource_type) {
LOG_E(MAC,
......@@ -1675,6 +1682,8 @@ initiate_ra_proc(module_id_t module_idP,
return;
}
#endif /* Rel14 */
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC, 1);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
......
......@@ -615,10 +615,16 @@ schedule_mib(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
LOG_D(MAC, "Frame %d, subframe %d: Adding BCH PDU in position %d (length %d)\n", frameP, subframeP, dl_req->number_pdu, mib_sdu_length);
if ((frameP & 1023) < 40)
#ifdef Rel14
LOG_D(MAC,
"[eNB %d] Frame %d : MIB->BCH CC_id %d, Received %d bytes (cc->mib->message.schedulingInfoSIB1_BR_r13 %d)\n",
module_idP, frameP, CC_id, mib_sdu_length,
(int) cc->mib->message.schedulingInfoSIB1_BR_r13);
#else
LOG_D(MAC,
"[eNB %d] Frame %d : MIB->BCH CC_id %d, Received %d bytes\n",
module_idP, frameP, CC_id, mib_sdu_length);
#endif
dl_config_pdu =
&dl_req->dl_config_pdu_list[dl_req->number_pdu];
......
......@@ -914,6 +914,7 @@ get_dl_cqi_pmi_size_pusch(COMMON_channels_t * cc, uint8_t tmode,
else if (ri >= 2 && cc->p_eNB == 4)
return (4 + (N << 1) + 4 + (N << 1) + 4);
break;
#ifdef Rel14
case CQI_ReportModeAperiodic_rm32_v1250:
AssertFatal(tmode == 4 || tmode == 6 || tmode == 8 || tmode == 9
|| tmode == 10,
......@@ -947,6 +948,7 @@ get_dl_cqi_pmi_size_pusch(COMMON_channels_t * cc, uint8_t tmode,
return (4 + 4 + 4);
break;
#endif /* Rel14 */
}
AssertFatal(1 == 0, "Shouldn't get here\n");
return (0);
......@@ -4339,6 +4341,7 @@ extract_pusch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
}
break;
#ifdef Rel14
case CQI_ReportModeAperiodic_rm32_v1250:
AssertFatal(tmode == 4 || tmode == 5 || tmode == 6 || tmode == 8
|| tmode == 9
......@@ -4362,6 +4365,7 @@ extract_pusch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
tmode);
AssertFatal(1 == 0, "CQI_ReportModeAperiodic_rm11 to be done\n");
break;
#endif /* Rel14 */
}
}
......
......@@ -416,7 +416,9 @@ init_MCCH(
0,//rnti
(BCCH_BCH_Message_t *)NULL,
(RadioResourceConfigCommonSIB_t *) NULL,
#ifdef Rel14
(RadioResourceConfigCommonSIB_t *) NULL,
#endif
(struct PhysicalConfigDedicated *)NULL,
#if defined(Rel10) || defined(Rel14)
(SCellToAddMod_r10_t *)NULL,
......@@ -1169,7 +1171,9 @@ rrc_eNB_generate_RRCConnectionReestablishment(
ctxt_pP->rnti,
(BCCH_BCH_Message_t *) NULL,
(RadioResourceConfigCommonSIB_t *) NULL,
#ifdef Rel14
(RadioResourceConfigCommonSIB_t *) NULL,
#endif
(struct PhysicalConfigDedicated* ) ue_context_pP->ue_context.physicalConfigDedicated,
#if defined(Rel10) || defined(Rel14)
(SCellToAddMod_r10_t *)NULL,
......@@ -3976,7 +3980,9 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
ue_context_pP->ue_context.rnti,
(BCCH_BCH_Message_t *) NULL,
(RadioResourceConfigCommonSIB_t*) NULL,
#ifdef Rel14
(RadioResourceConfigCommonSIB_t*) NULL,
#endif
ue_context_pP->ue_context.physicalConfigDedicated,
#if defined(Rel10) || defined(Rel14)
(SCellToAddMod_r10_t *)NULL,
......@@ -4555,7 +4561,9 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
ue_context_pP->ue_context.rnti,
(BCCH_BCH_Message_t *) NULL,
(RadioResourceConfigCommonSIB_t *) NULL,
#ifdef Rel14
(RadioResourceConfigCommonSIB_t *) NULL,
#endif
ue_context_pP->ue_context.physicalConfigDedicated,
#if defined(Rel10) || defined(Rel14)
(SCellToAddMod_r10_t *)NULL,
......@@ -4825,7 +4833,9 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
ue_context_pP->ue_context.rnti,
(BCCH_BCH_Message_t *) NULL,
(RadioResourceConfigCommonSIB_t *) NULL,
#ifdef Rel14
(RadioResourceConfigCommonSIB_t *) NULL,
#endif
ue_context_pP->ue_context.physicalConfigDedicated,
#if defined(Rel10) || defined(Rel14)
(SCellToAddMod_r10_t *)NULL,
......@@ -4878,7 +4888,9 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
ue_context_pP->ue_context.rnti,
(BCCH_BCH_Message_t *) NULL,
(RadioResourceConfigCommonSIB_t *) NULL,
#ifdef Rel14
(RadioResourceConfigCommonSIB_t *) NULL,
#endif
ue_context_pP->ue_context.physicalConfigDedicated,
#if defined(Rel10) || defined(Rel14)
(SCellToAddMod_r10_t *)NULL,
......@@ -4994,7 +5006,9 @@ rrc_eNB_generate_RRCConnectionSetup(
ue_context_pP->ue_context.rnti,
(BCCH_BCH_Message_t *) NULL,
(RadioResourceConfigCommonSIB_t *) NULL,
#ifdef Rel14
(RadioResourceConfigCommonSIB_t *) NULL,
#endif
ue_context_pP->ue_context.physicalConfigDedicated,
#if defined(Rel10) || defined(Rel14)
(SCellToAddMod_r10_t *)NULL,
......
......@@ -1050,7 +1050,9 @@ void init_eNB_afterRU(void) {
RC.ru[ru_id]->wakeup_rxtx = wakeup_rxtx;
RC.ru[ru_id]->wakeup_prach_eNB = wakeup_prach_eNB;
#ifdef Rel14
RC.ru[ru_id]->wakeup_prach_eNB_br = wakeup_prach_eNB_br;
#endif
RC.ru[ru_id]->eNB_top = eNB_top;
}
}
......
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