From 2f6b30cdb4d7ba4ec89c101a41690f0966a33cf0 Mon Sep 17 00:00:00 2001 From: Mario Joa-Ng Date: Thu, 22 Jan 2026 02:54:03 +0100 Subject: [PATCH] Fix FFT size for xran_fh_tx_send_slot_BySymbol() and xran_fh_rx_read_slot_BySymbol() --- radio/fhi_72/oaioran.c | 6 ++++-- radio/fhi_72/oran_isolate.c | 4 ++++ radio/fhi_72/oran_isolate.h | 4 ++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/radio/fhi_72/oaioran.c b/radio/fhi_72/oaioran.c index 149f492e6a..33c3a6970c 100644 --- a/radio/fhi_72/oaioran.c +++ b/radio/fhi_72/oaioran.c @@ -702,6 +702,7 @@ int xran_fh_tx_send_slot(ru_info_t *ru, int frame, int slot, uint64_t timestamp) return (0); } +#ifdef F_RELEASE /** @details Read PRACH and PUSCH data from xran buffers. If * I/Q compression (bitwidth < 16 bits) is configured, deccompresses the data * before writing. Prints ON TIME counters every 128 frames. @@ -764,7 +765,7 @@ int xran_fh_rx_read_slot_BySymbol(ru_info_t *ru, int *frame, int *slot) const struct xran_fh_init *fh_init = get_xran_fh_init(); int nPRBs = fh_cfg->nULRBs; - int fftsize = 1 << fh_cfg->ru_conf.fftSize; + int fftsize = 1 << fh_cfg->nULFftSize; int slot_offset_rxdata = 3 & (*slot); uint32_t slot_size = 4 * 14 * fftsize; @@ -942,7 +943,7 @@ int xran_fh_tx_send_slot_BySymbol(ru_info_t *ru, int frame, int slot, uint64_t t const struct xran_fh_init *fh_init = get_xran_fh_init(); const struct xran_fh_config *fh_cfg = get_xran_fh_config(0); int nPRBs = fh_cfg->nDLRBs; - int fftsize = 1 << fh_cfg->ru_conf.fftSize; + int fftsize = 1 << fh_cfg->nDLFftSize; int nb_tx_per_ru = ru->nb_tx / fh_init->xran_ports; int nb_rx_per_ru = ru->nb_rx / fh_init->xran_ports; @@ -1168,3 +1169,4 @@ int xran_fh_tx_send_slot_BySymbol(ru_info_t *ru, int frame, int slot, uint64_t t } return (0); } +#endif \ No newline at end of file diff --git a/radio/fhi_72/oran_isolate.c b/radio/fhi_72/oran_isolate.c index 9b97b58390..2517ca273e 100644 --- a/radio/fhi_72/oran_isolate.c +++ b/radio/fhi_72/oran_isolate.c @@ -230,9 +230,11 @@ void oran_fh_if4p5_south_in(RU_t *ru, int *frame, int *slot) start_meas(&ru->rx_fhaul); struct xran_fh_config *fh_cfg = get_xran_fh_config(0); int ret = 0; +#ifdef F_RELEASE if (fh_cfg->RunSlotPrbMapBySymbolEnable) ret = xran_fh_rx_read_slot_BySymbol(&ru_info, &f, &sl); else +#endif ret = xran_fh_rx_read_slot(&ru_info, &f, &sl); stop_meas(&ru->rx_fhaul); LOG_D(HW, "Read %d.%d rxdataF %p,%p\n", f, sl, ru_info.rxdataF[0], ru_info.rxdataF[1]); @@ -290,9 +292,11 @@ void oran_fh_if4p5_south_out(RU_t *ru, int frame, int slot, uint64_t timestamp) struct xran_fh_config *fh_cfg = get_xran_fh_config(0); int ret = 0; +#ifdef F_RELEASE if (fh_cfg->RunSlotPrbMapBySymbolEnable) ret = xran_fh_tx_send_slot_BySymbol(&ru_info, frame, slot, timestamp); else +#endif ret = xran_fh_tx_send_slot(&ru_info, frame, slot, timestamp); if (ret != 0) { printf("ORAN: ORAN_fh_if4p5_south_out ERROR in TX function \n"); diff --git a/radio/fhi_72/oran_isolate.h b/radio/fhi_72/oran_isolate.h index bb3f17d42b..dfd315dd29 100644 --- a/radio/fhi_72/oran_isolate.h +++ b/radio/fhi_72/oran_isolate.h @@ -60,9 +60,13 @@ typedef struct ru_info_s { * @param frame output of the frame which has been read. * @param slot output of the slot which has been read. */ int xran_fh_rx_read_slot(ru_info_t *ru, int *frame, int *slot); +#ifdef F_RELEASE int xran_fh_rx_read_slot_BySymbol(ru_info_t *ru, int *frame, int *slot); +#endif /** @brief Writes TX data (PDSCH) of given slot. */ int xran_fh_tx_send_slot(ru_info_t *ru, int frame, int slot, uint64_t timestamp); +#ifdef F_RELEASE int xran_fh_tx_send_slot_BySymbol(ru_info_t *ru, int frame, int slot, uint64_t timestamp); +#endif #endif /* _ORAN_ISOLATE_H_ */