[FHI72] Simplify RunSlotPrbMapBySymbol and add in the README
This commit is contained in:
@@ -1012,6 +1012,7 @@ Edit the sample OAI gNB configuration file and check following parameters:
|
|||||||
[Memory in DPDK](https://www.dpdk.org/memory-in-dpdk-part-2-deep-dive-into-iova/)
|
[Memory in DPDK](https://www.dpdk.org/memory-in-dpdk-part-2-deep-dive-into-iova/)
|
||||||
* `owdm_enable`: used for eCPRI One-Way Delay Measurements; it depends if the RU supports it; if not set to 1 (enabled), default value is 0 (disabled)
|
* `owdm_enable`: used for eCPRI One-Way Delay Measurements; it depends if the RU supports it; if not set to 1 (enabled), default value is 0 (disabled)
|
||||||
* `fh_config`
|
* `fh_config`
|
||||||
|
* `RunSlotPrbMapBySymbol`: enable CP multisection (one symbol per section); default value is 0
|
||||||
* DU delay profile (`T1a` and `Ta4`): pairs of numbers `(x, y)` specifying minimum and maximum delays
|
* DU delay profile (`T1a` and `Ta4`): pairs of numbers `(x, y)` specifying minimum and maximum delays
|
||||||
* `ru_config`: RU-specific configuration:
|
* `ru_config`: RU-specific configuration:
|
||||||
* `iq_width`: Width of DL/UL IQ samples: if 16, no compression, if <16, applies
|
* `iq_width`: Width of DL/UL IQ samples: if 16, no compression, if <16, applies
|
||||||
|
|||||||
@@ -961,7 +961,6 @@ static bool set_fh_config(void *mplane_api, int ru_idx, int num_rus, enum xran_c
|
|||||||
#if defined F_RELEASE
|
#if defined F_RELEASE
|
||||||
fh_config->srsEnableCp = 0; // enable SRS CP; used only if XRAN_CATEGORY_B
|
fh_config->srsEnableCp = 0; // enable SRS CP; used only if XRAN_CATEGORY_B
|
||||||
fh_config->SrsDelaySym = 0; // number of SRS delay symbols; used only if XRAN_CATEGORY_B
|
fh_config->SrsDelaySym = 0; // number of SRS delay symbols; used only if XRAN_CATEGORY_B
|
||||||
fh_config->RunSlotPrbMapBySymbolEnable = *gpd(fhp, nfh, ORAN_CONFIG_RunSlotPrbMapBySymbol)->uptr; // enable RunSlotPrbMapBySymbol
|
|
||||||
#endif
|
#endif
|
||||||
fh_config->puschMaskEnable = 0; // enable PUSCH mask; only used if id = O_RU
|
fh_config->puschMaskEnable = 0; // enable PUSCH mask; only used if id = O_RU
|
||||||
fh_config->puschMaskSlot = 0; // specific which slot PUSCH channel masked; only used if id = O_RU
|
fh_config->puschMaskSlot = 0; // specific which slot PUSCH channel masked; only used if id = O_RU
|
||||||
@@ -1005,6 +1004,8 @@ static bool set_fh_config(void *mplane_api, int ru_idx, int num_rus, enum xran_c
|
|||||||
fh_config->max_sections_per_symbol = 0; // not used in xran
|
fh_config->max_sections_per_symbol = 0; // not used in xran
|
||||||
|
|
||||||
#if defined F_RELEASE
|
#if defined F_RELEASE
|
||||||
|
fh_config->RunSlotPrbMapBySymbolEnable = *gpd(fhp, nfh, ORAN_CONFIG_CP_MULTISECTION)->uptr; // enable PRB mapping by symbol with multisection
|
||||||
|
|
||||||
fh_config->dssEnable = 0; // enable DSS (extension-9)
|
fh_config->dssEnable = 0; // enable DSS (extension-9)
|
||||||
fh_config->dssPeriod = 0; // DSS pattern period for LTE/NR
|
fh_config->dssPeriod = 0; // DSS pattern period for LTE/NR
|
||||||
// fh_config->technology[XRAN_MAX_DSS_PERIODICITY] // technology array represents slot is LTE(0)/NR(1); used only if DSS enabled
|
// fh_config->technology[XRAN_MAX_DSS_PERIODICITY] // technology array represents slot is LTE(0)/NR(1); used only if DSS enabled
|
||||||
|
|||||||
@@ -315,16 +315,8 @@ static void oran_allocate_buffers(void *handle,
|
|||||||
};
|
};
|
||||||
|
|
||||||
#if defined F_RELEASE
|
#if defined F_RELEASE
|
||||||
uint32_t size_of_prb_map;
|
uint32_t numPrbElm = (fh_config->RunSlotPrbMapBySymbolEnable) ? XRAN_NUM_OF_SYMBOL_PER_SLOT : xran_get_num_prb_elm(&dlPm, mtu);
|
||||||
if (fh_config->RunSlotPrbMapBySymbolEnable) {
|
uint32_t size_of_prb_map = sizeof(struct xran_prb_map) + sizeof(struct xran_prb_elm) * (numPrbElm);
|
||||||
// For Liteon FR2 with RunSlotPrbMapBySymbolEnable, xran_prb_map will have xran_prb_elm prbMap[14]
|
|
||||||
size_of_prb_map = sizeof(struct xran_prb_map) + sizeof(struct xran_prb_elm) * (XRAN_NUM_OF_SYMBOL_PER_SLOT);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// For non-Liteon w/o RunSlotPrbMapBySymbolEnable, xran_prb_map will have xran_prb_elm prbMap[1]
|
|
||||||
uint32_t numPrbElm = xran_get_num_prb_elm(&dlPm, mtu);
|
|
||||||
size_of_prb_map = sizeof(struct xran_prb_map) + sizeof(struct xran_prb_elm) * (numPrbElm);
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// PDSCH
|
// PDSCH
|
||||||
|
|||||||
@@ -106,7 +106,7 @@
|
|||||||
|
|
||||||
#define CONFIG_STRING_ORAN_FH "fh_config"
|
#define CONFIG_STRING_ORAN_FH "fh_config"
|
||||||
|
|
||||||
#define ORAN_CONFIG_RunSlotPrbMapBySymbol "RunSlotPrbMapBySymbol"
|
#define ORAN_CONFIG_CP_MULTISECTION "RunSlotPrbMapBySymbol"
|
||||||
#define ORAN_FH_CONFIG_T1A_CP_DL "T1a_cp_dl"
|
#define ORAN_FH_CONFIG_T1A_CP_DL "T1a_cp_dl"
|
||||||
#define ORAN_FH_CONFIG_T1A_CP_UL "T1a_cp_ul"
|
#define ORAN_FH_CONFIG_T1A_CP_UL "T1a_cp_ul"
|
||||||
#define ORAN_FH_CONFIG_T1A_UP "T1a_up"
|
#define ORAN_FH_CONFIG_T1A_UP "T1a_up"
|
||||||
@@ -116,7 +116,7 @@
|
|||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
#define ORAN_FH_DESC { \
|
#define ORAN_FH_DESC { \
|
||||||
{ORAN_CONFIG_RunSlotPrbMapBySymbol, "RunSlotPrbMapBySymbol\n", PARAMFLAG_BOOL, .uptr=NULL, .defuintval=0, TYPE_UINT, 0}, \
|
{ORAN_CONFIG_CP_MULTISECTION, "RunSlotPrbMapBySymbol\n", PARAMFLAG_BOOL, .iptr=NULL, .defintval=0, TYPE_INT32, 0}, \
|
||||||
{ORAN_FH_CONFIG_T1A_CP_DL, "T1a_cp_dl" ORAN_FH_HLP_CPLT, PARAMFLAG_MANDATORY, .uptr=NULL, .defintarrayval=0, TYPE_UINTARRAY, 0}, \
|
{ORAN_FH_CONFIG_T1A_CP_DL, "T1a_cp_dl" ORAN_FH_HLP_CPLT, PARAMFLAG_MANDATORY, .uptr=NULL, .defintarrayval=0, TYPE_UINTARRAY, 0}, \
|
||||||
{ORAN_FH_CONFIG_T1A_CP_UL, "T1a_cp_ul" ORAN_FH_HLP_CPLT, PARAMFLAG_MANDATORY, .uptr=NULL, .defintarrayval=0, TYPE_UINTARRAY, 0}, \
|
{ORAN_FH_CONFIG_T1A_CP_UL, "T1a_cp_ul" ORAN_FH_HLP_CPLT, PARAMFLAG_MANDATORY, .uptr=NULL, .defintarrayval=0, TYPE_UINTARRAY, 0}, \
|
||||||
{ORAN_FH_CONFIG_T1A_UP, "T1a_up" ORAN_FH_HLP_CPLT, PARAMFLAG_MANDATORY, .uptr=NULL, .defintarrayval=0, TYPE_UINTARRAY, 0}, \
|
{ORAN_FH_CONFIG_T1A_UP, "T1a_up" ORAN_FH_HLP_CPLT, PARAMFLAG_MANDATORY, .uptr=NULL, .defintarrayval=0, TYPE_UINTARRAY, 0}, \
|
||||||
|
|||||||
Reference in New Issue
Block a user