remove a unused global storage of slot number
This has no meaning at a global level, we run several slots: one tx, several rx at same time. Some minor cleaning of C style
This commit is contained in:
committed by
Robert Schmidt
parent
c02908453a
commit
00d78f048a
@@ -106,11 +106,10 @@ time_stats_t softmodem_stats_rx_sf; // total rx time
|
||||
//#define TICK_TO_US(ts) (ts.diff)
|
||||
#define TICK_TO_US(ts) (ts.trials==0?0:ts.diff/ts.trials)
|
||||
#define L1STATSSTRLEN 16384
|
||||
static void rx_func(processingData_L1_t *param);
|
||||
|
||||
static void tx_func(void *param)
|
||||
static void tx_func(processingData_L1tx_t *info)
|
||||
{
|
||||
processingData_L1tx_t *info = (processingData_L1tx_t *) param;
|
||||
|
||||
int frame_tx = info->frame;
|
||||
int slot_tx = info->slot;
|
||||
int frame_rx = info->frame_rx;
|
||||
@@ -176,7 +175,6 @@ static void tx_func(void *param)
|
||||
deref_sched_response(info->sched_response_id);
|
||||
}
|
||||
|
||||
|
||||
void *L1_rx_thread(void *arg)
|
||||
{
|
||||
PHY_VARS_gNB *gNB = (PHY_VARS_gNB*)arg;
|
||||
@@ -206,9 +204,8 @@ void *L1_tx_thread(void *arg) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void rx_func(void *param)
|
||||
static void rx_func(processingData_L1_t *info)
|
||||
{
|
||||
processingData_L1_t *info = (processingData_L1_t *) param;
|
||||
PHY_VARS_gNB *gNB = info->gNB;
|
||||
int frame_rx = info->frame_rx;
|
||||
int slot_rx = info->slot_rx;
|
||||
@@ -387,7 +384,7 @@ void init_gNB_Tpool(int inst) {
|
||||
// create the TX thread responsible for TX processing start event (L1_tx_out msg queue), then launch tx_func()
|
||||
threadCreate(&gNB->L1_tx_thread, L1_tx_thread, (void *)gNB, "L1_tx_thread", gNB->L1_tx_thread_core, OAI_PRIORITY_RT_MAX);
|
||||
|
||||
notifiedFIFO_elt_t *msgL1Tx = newNotifiedFIFO_elt(sizeof(processingData_L1tx_t), 0, &gNB->L1_tx_out, tx_func);
|
||||
notifiedFIFO_elt_t *msgL1Tx = newNotifiedFIFO_elt(sizeof(processingData_L1tx_t), 0, &gNB->L1_tx_out, NULL);
|
||||
processingData_L1tx_t *msgDataTx = (processingData_L1tx_t *)NotifiedFifoData(msgL1Tx);
|
||||
memset(msgDataTx, 0, sizeof(processingData_L1tx_t));
|
||||
init_DLSCH_struct(gNB, msgDataTx);
|
||||
|
||||
+4
-2
@@ -1089,9 +1089,11 @@ void ru_tx_func(void *param) {
|
||||
|
||||
if(!emulate_rf) {
|
||||
// do outgoing fronthaul (south) if needed
|
||||
if ((ru->fh_north_asynch_in == NULL) && (ru->fh_south_out)) ru->fh_south_out(ru,frame_tx,slot_tx,info->timestamp_tx);
|
||||
if ((ru->fh_north_asynch_in == NULL) && (ru->fh_south_out))
|
||||
ru->fh_south_out(ru, frame_tx, slot_tx, info->timestamp_tx);
|
||||
|
||||
if (ru->fh_north_out) ru->fh_north_out(ru);
|
||||
if (ru->fh_north_out)
|
||||
ru->fh_north_out(ru);
|
||||
} else {
|
||||
if(frame_tx == print_frame) {
|
||||
for (int i=0; i<ru->nb_tx; i++) {
|
||||
|
||||
@@ -372,7 +372,6 @@ extern uint16_t sl_ahead;
|
||||
extern uint16_t sf_ahead;
|
||||
extern int oai_exit;
|
||||
|
||||
void rx_func(void *param);
|
||||
void ru_tx_func(void *param);
|
||||
void configure_ru(void *, void *arg);
|
||||
void configure_rru(void *, void *arg);
|
||||
|
||||
@@ -159,8 +159,7 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO)
|
||||
|
||||
if (NFAPI_MODE == NFAPI_MONOLITHIC){
|
||||
if (slot_type == NR_DOWNLINK_SLOT || slot_type == NR_MIXED_SLOT) {
|
||||
processingData_L1tx_t *msgTx=NULL;
|
||||
msgTx = gNB->msgDataTx;
|
||||
processingData_L1tx_t *msgTx = gNB->msgDataTx;
|
||||
msgTx->num_pdsch_slot = 0;
|
||||
msgTx->num_dl_pdcch = 0;
|
||||
msgTx->num_ul_pdcch = number_ul_dci_pdu;
|
||||
|
||||
@@ -54,7 +54,8 @@ bool read_mac_sm(void* data)
|
||||
mac_ue_stats_impl_t* rd = &mac->msg.ue_stats[i];
|
||||
|
||||
rd->frame = RC.nrmac[mod_id]->frame;
|
||||
rd->slot = RC.nrmac[mod_id]->slot;
|
||||
rd->slot = 0; // previously had slot info, but the gNB runs multiple slots
|
||||
// in parallel, so this has no real meaning
|
||||
|
||||
rd->dl_aggr_tbs = UE->mac_stats.dl.total_bytes;
|
||||
rd->ul_aggr_tbs = UE->mac_stats.ul.total_bytes;
|
||||
|
||||
@@ -210,8 +210,6 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frame, sub_frame_
|
||||
}
|
||||
|
||||
gNB->frame = frame;
|
||||
gNB->slot = slot;
|
||||
|
||||
start_meas(&gNB->eNB_scheduler);
|
||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_gNB_DLSCH_ULSCH_SCHEDULER,VCD_FUNCTION_IN);
|
||||
|
||||
|
||||
@@ -2997,7 +2997,7 @@ int nr_mac_enable_ue_rrc_processing_timer(gNB_MAC_INST *mac, NR_UE_info_t *UE, b
|
||||
// frames, after RRC processing timer.
|
||||
UE->UE_sched_ctrl.ta_frame = (mac->frame - 1 + 1024) % 1024;
|
||||
|
||||
LOG_D(NR_MAC, "%4d.%2d UE %04x: Activate RRC processing timer (%d ms)\n", mac->frame, mac->slot, UE->rnti, delay);
|
||||
LOG_D(NR_MAC, "UE %04x: Activate RRC processing timer (%d ms)\n", UE->rnti, delay);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -836,9 +836,7 @@ typedef struct gNB_MAC_INST_s {
|
||||
|
||||
nr_mac_rrc_ul_if_t mac_rrc;
|
||||
f1_config_t f1_config;
|
||||
|
||||
int16_t frame;
|
||||
int16_t slot;
|
||||
|
||||
pthread_mutex_t sched_lock;
|
||||
|
||||
|
||||
@@ -388,11 +388,9 @@ static void match_crc_rx_pdu(nfapi_nr_rx_data_indication_t *rx_ind, nfapi_nr_crc
|
||||
static void run_scheduler(module_id_t module_id, int CC_id, int frame, int slot)
|
||||
{
|
||||
NR_IF_Module_t *ifi = nr_if_inst[module_id];
|
||||
// gNB_MAC_INST *mac = RC.nrmac[module_id];
|
||||
|
||||
NR_Sched_Rsp_t *sched_info;
|
||||
LOG_D(NR_MAC, "Calling scheduler for %d.%d\n", frame, slot);
|
||||
sched_info = allocate_sched_response();
|
||||
NR_Sched_Rsp_t *sched_info = allocate_sched_response();
|
||||
|
||||
// clear UL DCI prior to handling ULSCH
|
||||
sched_info->UL_dci_req.numPdus = 0;
|
||||
|
||||
Reference in New Issue
Block a user