Merge remote-tracking branch 'origin/remove-unused-code' into integration_2025_w04 (!3215)
Remove unused code
This commit is contained in:
@@ -997,7 +997,6 @@ INPUT = \
|
|||||||
@CMAKE_CURRENT_SOURCE_DIR@/../executables/softmodem-common.h \
|
@CMAKE_CURRENT_SOURCE_DIR@/../executables/softmodem-common.h \
|
||||||
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-softmodem.c \
|
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-softmodem.c \
|
||||||
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-gnb.c \
|
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-gnb.c \
|
||||||
@CMAKE_CURRENT_SOURCE_DIR@/../executables/rt_profiling.h \
|
|
||||||
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-uesoftmodem.h \
|
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-uesoftmodem.h \
|
||||||
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-uesoftmodem.c \
|
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-uesoftmodem.c \
|
||||||
@CMAKE_CURRENT_SOURCE_DIR@/../executables/lte-softmodem.h \
|
@CMAKE_CURRENT_SOURCE_DIR@/../executables/lte-softmodem.h \
|
||||||
|
|||||||
@@ -568,7 +568,7 @@ int wakeup_rxtx(PHY_VARS_eNB *eNB,
|
|||||||
LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms;
|
LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms;
|
||||||
int ret;
|
int ret;
|
||||||
LOG_D(PHY,"ENTERED wakeup_rxtx, %d.%d\n",ru_proc->frame_rx,ru_proc->tti_rx);
|
LOG_D(PHY,"ENTERED wakeup_rxtx, %d.%d\n",ru_proc->frame_rx,ru_proc->tti_rx);
|
||||||
// wake up TX for subframe n+sl_ahead
|
// wake up TX for subframe n+sf_ahead
|
||||||
// lock the TX mutex and make sure the thread is ready
|
// lock the TX mutex and make sure the thread is ready
|
||||||
AssertFatal((ret=pthread_mutex_lock(&L1_proc->mutex)) == 0,"mutex_lock returns %d\n", ret);
|
AssertFatal((ret=pthread_mutex_lock(&L1_proc->mutex)) == 0,"mutex_lock returns %d\n", ret);
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,6 @@
|
|||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
#include <common/utils/LOG/log.h>
|
#include <common/utils/LOG/log.h>
|
||||||
#include <common/utils/system.h>
|
#include <common/utils/system.h>
|
||||||
#include "rt_profiling.h"
|
|
||||||
|
|
||||||
#include "PHY/types.h"
|
#include "PHY/types.h"
|
||||||
|
|
||||||
@@ -91,12 +90,6 @@ static void tx_func(processingData_L1tx_t *info)
|
|||||||
int slot_tx = info->slot;
|
int slot_tx = info->slot;
|
||||||
int frame_rx = info->frame_rx;
|
int frame_rx = info->frame_rx;
|
||||||
int slot_rx = info->slot_rx;
|
int slot_rx = info->slot_rx;
|
||||||
int64_t absslot_tx = info->timestamp_tx / info->gNB->frame_parms.get_samples_per_slot(slot_tx, &info->gNB->frame_parms);
|
|
||||||
int64_t absslot_rx = absslot_tx - info->gNB->RU_list[0]->sl_ahead;
|
|
||||||
if (absslot_rx < 0) {
|
|
||||||
LOG_W(NR_PHY, "Slot ahead %d is larger than absslot_tx %ld. Cannot start TX yet.\n", info->gNB->RU_list[0]->sl_ahead, absslot_tx);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
LOG_D(NR_PHY, "%d.%d running tx_func\n", frame_tx, slot_tx);
|
LOG_D(NR_PHY, "%d.%d running tx_func\n", frame_tx, slot_tx);
|
||||||
PHY_VARS_gNB *gNB = info->gNB;
|
PHY_VARS_gNB *gNB = info->gNB;
|
||||||
module_id_t module_id = gNB->Mod_id;
|
module_id_t module_id = gNB->Mod_id;
|
||||||
@@ -134,8 +127,6 @@ static void tx_func(processingData_L1tx_t *info)
|
|||||||
if (tx_slot_type == NR_DOWNLINK_SLOT || tx_slot_type == NR_MIXED_SLOT || get_softmodem_params()->continuous_tx) {
|
if (tx_slot_type == NR_DOWNLINK_SLOT || tx_slot_type == NR_MIXED_SLOT || get_softmodem_params()->continuous_tx) {
|
||||||
start_meas(&info->gNB->phy_proc_tx);
|
start_meas(&info->gNB->phy_proc_tx);
|
||||||
phy_procedures_gNB_TX(info, frame_tx, slot_tx, 1);
|
phy_procedures_gNB_TX(info, frame_tx, slot_tx, 1);
|
||||||
const int rt_prof_idx = absslot_rx % RT_PROF_DEPTH;
|
|
||||||
clock_gettime(CLOCK_MONOTONIC, &info->gNB->rt_L1_profiling.return_L1_TX[rt_prof_idx]);
|
|
||||||
|
|
||||||
PHY_VARS_gNB *gNB = info->gNB;
|
PHY_VARS_gNB *gNB = info->gNB;
|
||||||
processingData_RU_t syncMsgRU;
|
processingData_RU_t syncMsgRU;
|
||||||
@@ -187,15 +178,6 @@ static void rx_func(processingData_L1_t *info)
|
|||||||
int frame_rx = info->frame_rx;
|
int frame_rx = info->frame_rx;
|
||||||
int slot_rx = info->slot_rx;
|
int slot_rx = info->slot_rx;
|
||||||
nfapi_nr_config_request_scf_t *cfg = &gNB->gNB_config;
|
nfapi_nr_config_request_scf_t *cfg = &gNB->gNB_config;
|
||||||
int cumul_samples = gNB->frame_parms.get_samples_per_slot(0, &gNB->frame_parms);
|
|
||||||
int i = 1;
|
|
||||||
for (; i < gNB->frame_parms.slots_per_subframe / 2; i++)
|
|
||||||
cumul_samples += gNB->frame_parms.get_samples_per_slot(i, &gNB->frame_parms);
|
|
||||||
int samples = cumul_samples / i;
|
|
||||||
int64_t absslot_tx = info->timestamp_tx / samples;
|
|
||||||
int64_t absslot_rx = absslot_tx - gNB->RU_list[0]->sl_ahead;
|
|
||||||
int rt_prof_idx = absslot_rx % RT_PROF_DEPTH;
|
|
||||||
clock_gettime(CLOCK_MONOTONIC, &info->gNB->rt_L1_profiling.start_L1_RX[rt_prof_idx]);
|
|
||||||
|
|
||||||
// *******************************************************************
|
// *******************************************************************
|
||||||
|
|
||||||
@@ -253,7 +235,6 @@ static void rx_func(processingData_L1_t *info)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
clock_gettime(CLOCK_MONOTONIC, &info->gNB->rt_L1_profiling.return_L1_RX[rt_prof_idx]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static size_t dump_L1_meas_stats(PHY_VARS_gNB *gNB, RU_t *ru, char *output, size_t outputlen) {
|
static size_t dump_L1_meas_stats(PHY_VARS_gNB *gNB, RU_t *ru, char *output, size_t outputlen) {
|
||||||
|
|||||||
@@ -33,7 +33,6 @@
|
|||||||
#include "common/utils/assertions.h"
|
#include "common/utils/assertions.h"
|
||||||
#include "common/utils/system.h"
|
#include "common/utils/system.h"
|
||||||
#include "common/ran_context.h"
|
#include "common/ran_context.h"
|
||||||
#include "rt_profiling.h"
|
|
||||||
|
|
||||||
#include "radio/COMMON/common_lib.h"
|
#include "radio/COMMON/common_lib.h"
|
||||||
#include "radio/ETHERNET/ethernet_lib.h"
|
#include "radio/ETHERNET/ethernet_lib.h"
|
||||||
@@ -69,7 +68,6 @@ static int DEFRUTPCORES[] = {-1,-1,-1,-1};
|
|||||||
#include <nfapi/oai_integration/vendor_ext.h>
|
#include <nfapi/oai_integration/vendor_ext.h>
|
||||||
#include "executables/nr-softmodem-common.h"
|
#include "executables/nr-softmodem-common.h"
|
||||||
|
|
||||||
int sl_ahead;
|
|
||||||
static void NRRCconfig_RU(configmodule_interface_t *cfg);
|
static void NRRCconfig_RU(configmodule_interface_t *cfg);
|
||||||
|
|
||||||
/*************************************************************/
|
/*************************************************************/
|
||||||
@@ -1038,15 +1036,6 @@ void ru_tx_func(void *param)
|
|||||||
int print_frame = 8;
|
int print_frame = 8;
|
||||||
char filename[40];
|
char filename[40];
|
||||||
|
|
||||||
int cumul_samples = fp->get_samples_per_slot(0, fp);
|
|
||||||
int i = 1;
|
|
||||||
for (; i < fp->slots_per_subframe / 2; i++)
|
|
||||||
cumul_samples += fp->get_samples_per_slot(i, fp);
|
|
||||||
int samples = cumul_samples / i;
|
|
||||||
int64_t absslot_tx = info->timestamp_tx / samples;
|
|
||||||
int64_t absslot_rx = absslot_tx - ru->sl_ahead;
|
|
||||||
int rt_prof_idx = absslot_rx % RT_PROF_DEPTH;
|
|
||||||
clock_gettime(CLOCK_MONOTONIC,&ru->rt_ru_profiling.start_RU_TX[rt_prof_idx]);
|
|
||||||
// do TX front-end processing if needed (precoding and/or IDFTs)
|
// do TX front-end processing if needed (precoding and/or IDFTs)
|
||||||
if (ru->feptx_prec)
|
if (ru->feptx_prec)
|
||||||
ru->feptx_prec(ru,frame_tx,slot_tx);
|
ru->feptx_prec(ru,frame_tx,slot_tx);
|
||||||
@@ -1093,11 +1082,6 @@ void ru_tx_func(void *param)
|
|||||||
}//for (i=0; i<ru->nb_tx; i++)
|
}//for (i=0; i<ru->nb_tx; i++)
|
||||||
}//if(frame_tx == print_frame)
|
}//if(frame_tx == print_frame)
|
||||||
}//else emulate_rf
|
}//else emulate_rf
|
||||||
clock_gettime(CLOCK_MONOTONIC,&ru->rt_ru_profiling.return_RU_TX[rt_prof_idx]);
|
|
||||||
struct timespec *t0=&ru->rt_ru_profiling.start_RU_TX[rt_prof_idx];
|
|
||||||
struct timespec *t1=&ru->rt_ru_profiling.return_RU_TX[rt_prof_idx];
|
|
||||||
|
|
||||||
LOG_D(PHY,"rt_prof_idx %d : RU_TX time %d\n",rt_prof_idx,(int)(1e9 * (t1->tv_sec - t0->tv_sec) + (t1->tv_nsec-t0->tv_nsec)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void *ru_thread(void *param)
|
void *ru_thread(void *param)
|
||||||
@@ -1273,9 +1257,6 @@ void *ru_thread(void *param)
|
|||||||
proc->timestamp_tx += fp->get_samples_per_slot(i % fp->slots_per_frame, fp);
|
proc->timestamp_tx += fp->get_samples_per_slot(i % fp->slots_per_frame, fp);
|
||||||
proc->tti_tx = (proc->tti_rx + ru->sl_ahead) % fp->slots_per_frame;
|
proc->tti_tx = (proc->tti_rx + ru->sl_ahead) % fp->slots_per_frame;
|
||||||
proc->frame_tx = proc->tti_rx > proc->tti_tx ? (proc->frame_rx + 1) & 1023 : proc->frame_rx;
|
proc->frame_tx = proc->tti_rx > proc->tti_tx ? (proc->frame_rx + 1) & 1023 : proc->frame_rx;
|
||||||
int64_t absslot_rx = proc->timestamp_rx/fp->get_samples_per_slot(proc->tti_rx,fp);
|
|
||||||
int rt_prof_idx = absslot_rx % RT_PROF_DEPTH;
|
|
||||||
clock_gettime(CLOCK_MONOTONIC,&ru->rt_ru_profiling.return_RU_south_in[rt_prof_idx]);
|
|
||||||
LOG_D(PHY,"AFTER fh_south_in - SFN/SL:%d%d RU->proc[RX:%d.%d TX:%d.%d] RC.gNB[0]:[RX:%d%d TX(SFN):%d]\n",
|
LOG_D(PHY,"AFTER fh_south_in - SFN/SL:%d%d RU->proc[RX:%d.%d TX:%d.%d] RC.gNB[0]:[RX:%d%d TX(SFN):%d]\n",
|
||||||
frame,slot,
|
frame,slot,
|
||||||
proc->frame_rx,proc->tti_rx,
|
proc->frame_rx,proc->tti_rx,
|
||||||
@@ -1321,7 +1302,6 @@ void *ru_thread(void *param)
|
|||||||
rx_tti_busy[proc->tti_rx % RU_RX_SLOT_DEPTH] = true;
|
rx_tti_busy[proc->tti_rx % RU_RX_SLOT_DEPTH] = true;
|
||||||
ru->feprx(ru,proc->tti_rx);
|
ru->feprx(ru,proc->tti_rx);
|
||||||
LOG_D(NR_PHY, "Setting %d.%d (%d) to busy\n", proc->frame_rx, proc->tti_rx, proc->tti_rx % RU_RX_SLOT_DEPTH);
|
LOG_D(NR_PHY, "Setting %d.%d (%d) to busy\n", proc->frame_rx, proc->tti_rx, proc->tti_rx % RU_RX_SLOT_DEPTH);
|
||||||
clock_gettime(CLOCK_MONOTONIC,&ru->rt_ru_profiling.return_RU_feprx[rt_prof_idx]);
|
|
||||||
//LOG_M("rxdata.m","rxs",ru->common.rxdata[0],1228800,1,1);
|
//LOG_M("rxdata.m","rxs",ru->common.rxdata[0],1228800,1,1);
|
||||||
LOG_D(PHY,"RU proc: frame_rx = %d, tti_rx = %d\n", proc->frame_rx, proc->tti_rx);
|
LOG_D(PHY,"RU proc: frame_rx = %d, tti_rx = %d\n", proc->frame_rx, proc->tti_rx);
|
||||||
gNBscopeCopy(RC.gNB[0],
|
gNBscopeCopy(RC.gNB[0],
|
||||||
@@ -1352,15 +1332,10 @@ void *ru_thread(void *param)
|
|||||||
proc->frame_rx,
|
proc->frame_rx,
|
||||||
proc->tti_rx);
|
proc->tti_rx);
|
||||||
}
|
}
|
||||||
clock_gettime(CLOCK_MONOTONIC,&ru->rt_ru_profiling.return_RU_prachrx[rt_prof_idx]);
|
|
||||||
free_nr_ru_prach_entry(ru,prach_id);
|
free_nr_ru_prach_entry(ru,prach_id);
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_RU_PRACH_RX, 0);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_RU_PRACH_RX, 0);
|
||||||
} // end if (prach_id > 0)
|
} // end if (prach_id > 0)
|
||||||
} // end if (ru->feprx)
|
} // end if (ru->feprx)
|
||||||
else {
|
|
||||||
memset(&ru->rt_ru_profiling.return_RU_feprx[rt_prof_idx],0,sizeof(struct timespec));
|
|
||||||
memset(&ru->rt_ru_profiling.return_RU_prachrx[rt_prof_idx],0,sizeof(struct timespec));
|
|
||||||
}
|
|
||||||
} // end if (slot_type == NR_UPLINK_SLOT || slot_type == NR_MIXED_SLOT) {
|
} // end if (slot_type == NR_UPLINK_SLOT || slot_type == NR_MIXED_SLOT) {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -99,7 +99,6 @@ nrUE_params_t nrUE_params = {0};
|
|||||||
pthread_cond_t nfapi_sync_cond;
|
pthread_cond_t nfapi_sync_cond;
|
||||||
pthread_mutex_t nfapi_sync_mutex;
|
pthread_mutex_t nfapi_sync_mutex;
|
||||||
int nfapi_sync_var=-1; //!< protected by mutex \ref nfapi_sync_mutex
|
int nfapi_sync_var=-1; //!< protected by mutex \ref nfapi_sync_mutex
|
||||||
int sf_ahead = 6; //??? value ???
|
|
||||||
pthread_cond_t sync_cond;
|
pthread_cond_t sync_cond;
|
||||||
pthread_mutex_t sync_mutex;
|
pthread_mutex_t sync_mutex;
|
||||||
int sync_var=-1; //!< protected by mutex \ref sync_mutex.
|
int sync_var=-1; //!< protected by mutex \ref sync_mutex.
|
||||||
|
|||||||
@@ -1,64 +0,0 @@
|
|||||||
|
|
||||||
/*
|
|
||||||
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
|
||||||
* contributor license agreements. See the NOTICE file distributed with
|
|
||||||
* this work for additional information regarding copyright ownership.
|
|
||||||
* The OpenAirInterface Software Alliance licenses this file to You under
|
|
||||||
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
|
||||||
* except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.openairinterface.org/?page_id=698
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*-------------------------------------------------------------------------------
|
|
||||||
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
|
||||||
* contact@openairinterface.org
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*! \file rt_profiling.h
|
|
||||||
* \brief Definitions for proflling real-time scheduling
|
|
||||||
* \author
|
|
||||||
* \date 2022
|
|
||||||
* \version 0.1
|
|
||||||
* \company Eurecom
|
|
||||||
* \email:
|
|
||||||
* \note
|
|
||||||
* \warning
|
|
||||||
*/
|
|
||||||
#ifndef TIME_PROFILING_H
|
|
||||||
#define TIME_PROFILING_H
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// depth of trace in slots
|
|
||||||
#define RT_PROF_DEPTH 100
|
|
||||||
typedef struct {
|
|
||||||
int64_t absslot_rx[RT_PROF_DEPTH];
|
|
||||||
struct timespec return_RU_south_in[RT_PROF_DEPTH];
|
|
||||||
struct timespec return_RU_feprx[RT_PROF_DEPTH];
|
|
||||||
struct timespec return_RU_prachrx[RT_PROF_DEPTH];
|
|
||||||
struct timespec return_RU_pushL1[RT_PROF_DEPTH];
|
|
||||||
struct timespec start_RU_TX[RT_PROF_DEPTH];
|
|
||||||
struct timespec return_RU_TX[RT_PROF_DEPTH];
|
|
||||||
} rt_ru_profiling_t;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
int64_t absslot_ux[RT_PROF_DEPTH];
|
|
||||||
struct timespec start_L1_RX[RT_PROF_DEPTH];
|
|
||||||
struct timespec return_L1_RX[RT_PROF_DEPTH];
|
|
||||||
struct timespec start_L1_TX[RT_PROF_DEPTH];
|
|
||||||
struct timespec return_L1_TX[RT_PROF_DEPTH];
|
|
||||||
struct timespec return_L1_prachrx[RT_PROF_DEPTH];
|
|
||||||
struct timespec return_L1_puschL1[RT_PROF_DEPTH];
|
|
||||||
} rt_L1_profiling_t;
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
@@ -352,7 +352,6 @@ void set_softmodem_sighandler(void);
|
|||||||
extern uint64_t downlink_frequency[MAX_NUM_CCs][4];
|
extern uint64_t downlink_frequency[MAX_NUM_CCs][4];
|
||||||
extern int32_t uplink_frequency_offset[MAX_NUM_CCs][4];
|
extern int32_t uplink_frequency_offset[MAX_NUM_CCs][4];
|
||||||
extern int usrp_tx_thread;
|
extern int usrp_tx_thread;
|
||||||
extern int sl_ahead;
|
|
||||||
extern int sf_ahead;
|
extern int sf_ahead;
|
||||||
extern int oai_exit;
|
extern int oai_exit;
|
||||||
|
|
||||||
|
|||||||
-2
@@ -177,8 +177,6 @@ static int nrLDPC_prepare_TB_encoding(nrLDPC_slot_encoding_parameters_t *nrLDPC_
|
|||||||
impp.toutput = nrLDPC_slot_encoding_parameters->toutput;
|
impp.toutput = nrLDPC_slot_encoding_parameters->toutput;
|
||||||
impp.Kb = nrLDPC_TB_encoding_parameters->Kb;
|
impp.Kb = nrLDPC_TB_encoding_parameters->Kb;
|
||||||
impp.Zc = nrLDPC_TB_encoding_parameters->Z;
|
impp.Zc = nrLDPC_TB_encoding_parameters->Z;
|
||||||
NR_DL_gNB_HARQ_t harq;
|
|
||||||
impp.harq = &harq;
|
|
||||||
impp.BG = nrLDPC_TB_encoding_parameters->BG;
|
impp.BG = nrLDPC_TB_encoding_parameters->BG;
|
||||||
impp.output = nrLDPC_TB_encoding_parameters->segments->output;
|
impp.output = nrLDPC_TB_encoding_parameters->segments->output;
|
||||||
impp.K = nrLDPC_TB_encoding_parameters->K;
|
impp.K = nrLDPC_TB_encoding_parameters->K;
|
||||||
|
|||||||
@@ -66,7 +66,6 @@ typedef struct {
|
|||||||
uint32_t Zc;
|
uint32_t Zc;
|
||||||
/// Number of "Filler" bits
|
/// Number of "Filler" bits
|
||||||
uint32_t F;
|
uint32_t F;
|
||||||
void *harq;
|
|
||||||
/// Encoder BG
|
/// Encoder BG
|
||||||
uint8_t BG;
|
uint8_t BG;
|
||||||
/// Interleaver outputs
|
/// Interleaver outputs
|
||||||
|
|||||||
@@ -39,7 +39,6 @@
|
|||||||
#include "time_meas.h"
|
#include "time_meas.h"
|
||||||
#include "defs_common.h"
|
#include "defs_common.h"
|
||||||
#include "nfapi_nr_interface_scf.h"
|
#include "nfapi_nr_interface_scf.h"
|
||||||
#include <executables/rt_profiling.h>
|
|
||||||
#include "common/utils/threadPool/task_ans.h"
|
#include "common/utils/threadPool/task_ans.h"
|
||||||
#include "common/utils/threadPool/thread-pool.h"
|
#include "common/utils/threadPool/thread-pool.h"
|
||||||
|
|
||||||
@@ -663,8 +662,6 @@ typedef struct RU_t_s {
|
|||||||
int tpcores[16];
|
int tpcores[16];
|
||||||
/// number of cores for RU ThreadPool
|
/// number of cores for RU ThreadPool
|
||||||
int num_tpcores;
|
int num_tpcores;
|
||||||
/// structure for analyzing high-level RT measurements
|
|
||||||
rt_ru_profiling_t rt_ru_profiling;
|
|
||||||
void* scopeData;
|
void* scopeData;
|
||||||
} RU_t;
|
} RU_t;
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,6 @@
|
|||||||
#include "PHY/CODING/nrLDPC_coding/nrLDPC_coding_interface.h"
|
#include "PHY/CODING/nrLDPC_coding/nrLDPC_coding_interface.h"
|
||||||
#include "PHY/CODING/nrLDPC_extern.h"
|
#include "PHY/CODING/nrLDPC_extern.h"
|
||||||
#include "PHY/CODING/nrLDPC_decoder/nrLDPC_types.h"
|
#include "PHY/CODING/nrLDPC_decoder/nrLDPC_types.h"
|
||||||
#include "executables/rt_profiling.h"
|
|
||||||
#include "nfapi_nr_interface_scf.h"
|
#include "nfapi_nr_interface_scf.h"
|
||||||
#include "openair2/NR_PHY_INTERFACE/NR_IF_Module.h"
|
#include "openair2/NR_PHY_INTERFACE/NR_IF_Module.h"
|
||||||
|
|
||||||
@@ -560,8 +559,6 @@ typedef struct PHY_VARS_gNB_s {
|
|||||||
int L1_tx_thread_core;
|
int L1_tx_thread_core;
|
||||||
struct processingData_L1tx *msgDataTx;
|
struct processingData_L1tx *msgDataTx;
|
||||||
void *scopeData;
|
void *scopeData;
|
||||||
/// structure for analyzing high-level RT measurements
|
|
||||||
rt_L1_profiling_t rt_L1_profiling;
|
|
||||||
} PHY_VARS_gNB;
|
} PHY_VARS_gNB;
|
||||||
|
|
||||||
struct puschSymbolReqId {
|
struct puschSymbolReqId {
|
||||||
|
|||||||
@@ -627,8 +627,6 @@ typedef struct nr_rxtx_thread_data_s {
|
|||||||
PHY_VARS_NR_UE *UE;
|
PHY_VARS_NR_UE *UE;
|
||||||
int writeBlockSize;
|
int writeBlockSize;
|
||||||
nr_phy_data_t phy_data;
|
nr_phy_data_t phy_data;
|
||||||
int tx_wait_for_dlsch;
|
|
||||||
int rx_offset;
|
|
||||||
} nr_rxtx_thread_data_t;
|
} nr_rxtx_thread_data_t;
|
||||||
|
|
||||||
typedef struct LDPCDecode_ue_s {
|
typedef struct LDPCDecode_ue_s {
|
||||||
|
|||||||
@@ -107,7 +107,6 @@ int32_t uplink_frequency_offset[MAX_NUM_CCs][4];
|
|||||||
double cpuf;
|
double cpuf;
|
||||||
char *uecap_file;
|
char *uecap_file;
|
||||||
|
|
||||||
int sl_ahead = 0;
|
|
||||||
//uint8_t nfapi_mode = 0;
|
//uint8_t nfapi_mode = 0;
|
||||||
uint64_t downlink_frequency[MAX_NUM_CCs][4];
|
uint64_t downlink_frequency[MAX_NUM_CCs][4];
|
||||||
THREAD_STRUCT thread_struct;
|
THREAD_STRUCT thread_struct;
|
||||||
|
|||||||
@@ -83,7 +83,6 @@ openair0_config_t openair0_cfg[MAX_CARDS];
|
|||||||
//uint8_t nfapi_mode=0;
|
//uint8_t nfapi_mode=0;
|
||||||
uint64_t downlink_frequency[MAX_NUM_CCs][4];
|
uint64_t downlink_frequency[MAX_NUM_CCs][4];
|
||||||
int32_t uplink_frequency_offset[MAX_NUM_CCs][4];
|
int32_t uplink_frequency_offset[MAX_NUM_CCs][4];
|
||||||
int sl_ahead = 0;
|
|
||||||
uint32_t N_RB_DL = 106;
|
uint32_t N_RB_DL = 106;
|
||||||
|
|
||||||
NR_IF_Module_t *NR_IF_Module_init(int Mod_id) { return (NULL); }
|
NR_IF_Module_t *NR_IF_Module_init(int Mod_id) { return (NULL); }
|
||||||
|
|||||||
@@ -106,9 +106,6 @@ RAN_CONTEXT_t RC;
|
|||||||
char *uecap_file;
|
char *uecap_file;
|
||||||
int32_t uplink_frequency_offset[MAX_NUM_CCs][4];
|
int32_t uplink_frequency_offset[MAX_NUM_CCs][4];
|
||||||
|
|
||||||
int sf_ahead = 4;
|
|
||||||
int slot_ahead=6 ;
|
|
||||||
int sl_ahead = 0;
|
|
||||||
double cpuf;
|
double cpuf;
|
||||||
//uint8_t nfapi_mode = 0;
|
//uint8_t nfapi_mode = 0;
|
||||||
uint64_t downlink_frequency[MAX_NUM_CCs][4];
|
uint64_t downlink_frequency[MAX_NUM_CCs][4];
|
||||||
|
|||||||
@@ -257,7 +257,6 @@ printf("rxdata in benetel_fh_if4p5_south_in %p\n", &ru->common.rxdataF[antenna][
|
|||||||
//printf("BENETEL: %s (f.sf %d.%d)\n", __FUNCTION__, *frame, *slot);
|
//printf("BENETEL: %s (f.sf %d.%d)\n", __FUNCTION__, *frame, *slot);
|
||||||
|
|
||||||
RU_proc_t *proc = &ru->proc;
|
RU_proc_t *proc = &ru->proc;
|
||||||
extern int sl_ahead;
|
|
||||||
int f = *frame;
|
int f = *frame;
|
||||||
int sl = *slot;
|
int sl = *slot;
|
||||||
|
|
||||||
@@ -272,8 +271,8 @@ printf("rxdata in benetel_fh_if4p5_south_in %p\n", &ru->common.rxdataF[antenna][
|
|||||||
|
|
||||||
if (get_nprocs()<=4) {
|
if (get_nprocs()<=4) {
|
||||||
// why? what if there are more?
|
// why? what if there are more?
|
||||||
proc->tti_tx = (sl+sl_ahead)%20;
|
proc->tti_tx = (sl+ru->sl_ahead)%20;
|
||||||
proc->frame_tx = (sl>(19-sl_ahead)) ? (f+1)&1023 : f;
|
proc->frame_tx = (sl>(19-ru->sl_ahead)) ? (f+1)&1023 : f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -203,7 +203,6 @@ void oran_fh_if4p5_south_in(RU_t *ru, int *frame, int *slot)
|
|||||||
ru_info.prach_buf = ru->prach_rxsigF[0]; // index: [prach_oca][ant_id]
|
ru_info.prach_buf = ru->prach_rxsigF[0]; // index: [prach_oca][ant_id]
|
||||||
|
|
||||||
RU_proc_t *proc = &ru->proc;
|
RU_proc_t *proc = &ru->proc;
|
||||||
extern int sl_ahead;
|
|
||||||
int f, sl;
|
int f, sl;
|
||||||
LOG_D(PHY, "Read rxdataF %p,%p\n", ru_info.rxdataF[0], ru_info.rxdataF[1]);
|
LOG_D(PHY, "Read rxdataF %p,%p\n", ru_info.rxdataF[0], ru_info.rxdataF[1]);
|
||||||
start_meas(&ru->rx_fhaul);
|
start_meas(&ru->rx_fhaul);
|
||||||
@@ -217,8 +216,8 @@ void oran_fh_if4p5_south_in(RU_t *ru, int *frame, int *slot)
|
|||||||
int slots_per_frame = 10 << (ru->openair0_cfg.nr_scs_for_raster);
|
int slots_per_frame = 10 << (ru->openair0_cfg.nr_scs_for_raster);
|
||||||
proc->tti_rx = sl;
|
proc->tti_rx = sl;
|
||||||
proc->frame_rx = f;
|
proc->frame_rx = f;
|
||||||
proc->tti_tx = (sl + sl_ahead) % slots_per_frame;
|
proc->tti_tx = (sl + ru->sl_ahead) % slots_per_frame;
|
||||||
proc->frame_tx = (sl > (slots_per_frame - 1 - sl_ahead)) ? (f + 1) & 1023 : f;
|
proc->frame_tx = (sl > (slots_per_frame - 1 - ru->sl_ahead)) ? (f + 1) & 1023 : f;
|
||||||
|
|
||||||
if (proc->first_rx == 0) {
|
if (proc->first_rx == 0) {
|
||||||
if (proc->tti_rx != *slot) {
|
if (proc->tti_rx != *slot) {
|
||||||
|
|||||||
Reference in New Issue
Block a user