Commit 254deea6 authored by Raymond Knopp's avatar Raymond Knopp

initial testing of NFAPI over physical ethernet is ok.

parent c80ba314
...@@ -574,7 +574,7 @@ void UL_indication(UL_IND_t *UL_info) { ...@@ -574,7 +574,7 @@ void UL_indication(UL_IND_t *UL_info) {
int CC_id = UL_info->CC_id; int CC_id = UL_info->CC_id;
Sched_Rsp_t *sched_info = &Sched_INFO[module_id][CC_id]; Sched_Rsp_t *sched_info = &Sched_INFO[module_id][CC_id];
IF_Module_t *ifi = if_inst[module_id]; IF_Module_t *ifi = if_inst[module_id];
eNB_MAC_INST *mac = RC.mac[module_id]; eNB_MAC_INST *mac = (NFAPI_MODE != NFAPI_MODE_PNF)? &RC.mac[module_id] : NULL;
LOG_D(PHY,"SFN/SF:%d%d module_id:%d CC_id:%d UL_info[rx_ind:%d harqs:%d crcs:%d cqis:%d preambles:%d sr_ind:%d]\n", LOG_D(PHY,"SFN/SF:%d%d module_id:%d CC_id:%d UL_info[rx_ind:%d harqs:%d crcs:%d cqis:%d preambles:%d sr_ind:%d]\n",
UL_info->frame,UL_info->subframe, UL_info->frame,UL_info->subframe,
module_id,CC_id, module_id,CC_id,
...@@ -596,23 +596,24 @@ void UL_indication(UL_IND_t *UL_info) { ...@@ -596,23 +596,24 @@ void UL_indication(UL_IND_t *UL_info) {
} }
ifi->CC_mask |= (1<<CC_id); ifi->CC_mask |= (1<<CC_id);
}
// clear DL/UL info for new scheduling round // clear DL/UL info for new scheduling round
clear_nfapi_information(RC.mac[module_id],CC_id, clear_nfapi_information(RC.mac[module_id],CC_id,
UL_info->frame,UL_info->subframe); UL_info->frame,UL_info->subframe);
}
handle_rach(UL_info); handle_rach(UL_info);
handle_sr(UL_info); handle_sr(UL_info);
handle_cqi(UL_info); handle_cqi(UL_info);
handle_harq(UL_info); handle_harq(UL_info);
// clear HI prior to handling ULSCH if (NFAPI_MODE != NFAPI_MODE_PNF) {
uint8_t sf_ahead_dl = ul_subframe2_k_phich(&mac->common_channels[CC_id], UL_info->subframe); // clear HI prior to handling ULSCH
uint8_t sf_ahead_dl = ul_subframe2_k_phich(&mac->common_channels[CC_id], UL_info->subframe);
if(sf_ahead_dl!=255) { if(sf_ahead_dl!=255) {
mac->HI_DCI0_req[CC_id][(UL_info->subframe+sf_ahead_dl)%10].hi_dci0_request_body.number_of_hi = 0; mac->HI_DCI0_req[CC_id][(UL_info->subframe+sf_ahead_dl)%10].hi_dci0_request_body.number_of_hi = 0;
LOG_D(MAC,"current (%d,%d) clear HI_DCI0_req[0][%d]\n",UL_info->frame,UL_info->subframe,(UL_info->subframe+sf_ahead_dl)%10); LOG_D(MAC,"current (%d,%d) clear HI_DCI0_req[0][%d]\n",UL_info->frame,UL_info->subframe,(UL_info->subframe+sf_ahead_dl)%10);
}
} }
handle_ulsch(UL_info); handle_ulsch(UL_info);
if (NFAPI_MODE != NFAPI_MODE_PNF) { if (NFAPI_MODE != NFAPI_MODE_PNF) {
......
...@@ -205,7 +205,8 @@ static inline int rxtx(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc, char *thread_name ...@@ -205,7 +205,8 @@ static inline int rxtx(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc, char *thread_name
#endif #endif
} }
release_UE_in_freeList(eNB->Mod_id); // this is very bad ... could easily be done in the right place in L2
if (NFAPI_MODE == NFAPI_MODE_VNF) release_UE_in_freeList(eNB->Mod_id);
// UE-specific RX processing for subframe n // UE-specific RX processing for subframe n
if (NFAPI_MODE==NFAPI_MONOLITHIC || NFAPI_MODE==NFAPI_MODE_PNF) { if (NFAPI_MODE==NFAPI_MONOLITHIC || NFAPI_MODE==NFAPI_MODE_PNF) {
...@@ -1139,9 +1140,9 @@ void init_transport(PHY_VARS_eNB *eNB) { ...@@ -1139,9 +1140,9 @@ void init_transport(PHY_VARS_eNB *eNB) {
void init_eNB_afterRU(void) { void init_eNB_afterRU(void) {
int inst,CC_id,ru_id,i,aa; int inst,CC_id,ru_id,i,aa;
PHY_VARS_eNB *eNB; PHY_VARS_eNB *eNB;
LOG_I(PHY,"%s() RC.nb_inst:%d\n", __FUNCTION__, RC.nb_inst); LOG_I(PHY,"%s() RC.nb_L1_inst:%d\n", __FUNCTION__, RC.nb_L1_inst);
for (inst=0; inst<RC.nb_inst; inst++) { for (inst=0; inst<RC.nb_L1_inst; inst++) {
LOG_I(PHY,"RC.nb_CC[inst]:%d\n", RC.nb_CC[inst]); LOG_I(PHY,"RC.nb_CC[inst]:%d\n", RC.nb_CC[inst]);
for (CC_id=0; CC_id<RC.nb_CC[inst]; CC_id++) { for (CC_id=0; CC_id<RC.nb_CC[inst]; CC_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