X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fmt%2Fmt_ss.c;h=8e9edd8302dcfaebe6fb7afe163d8840dd777d28;hb=refs%2Fchanges%2F15%2F9315%2F5;hp=840cb7c9b9bcce7d7f5eab26e96356d1f406746a;hpb=ef723e2e773fc6a6dcff43005569e509201df198;p=o-du%2Fl2.git diff --git a/src/mt/mt_ss.c b/src/mt/mt_ss.c index 840cb7c9b..8e9edd830 100644 --- a/src/mt/mt_ss.c +++ b/src/mt/mt_ss.c @@ -183,7 +183,6 @@ char my_buffer[4096] = { 0 }; int my_buffer_idx = 0; - #define sigsegv_print(x, ...) my_buffer_idx += sprintf(&my_buffer[my_buffer_idx], x "\n", ##__VA_ARGS__) struct sigcontext my_uc_mcontext = { 0 }; @@ -515,6 +514,20 @@ SsRegCfg cfgRegInfo[SS_MAX_REGS] = { SS_POOL_STATIC, 0 } } } +#ifndef INTEL_WLS_MEM + , + { + SS_DFLT_REGION + 7, SS_MAX_POOLS_PER_REG - 1, + { + { SS_POOL_DYNAMIC, MT_POOL_0_DSIZE }, + { SS_POOL_DYNAMIC, MT_POOL_1_DSIZE }, + { SS_POOL_DYNAMIC, MT_POOL_2_DSIZE }, + { SS_POOL_DYNAMIC, MT_POOL_3_DSIZE }, + { SS_POOL_DYNAMIC, MT_POOL_4_DSIZE }, + { SS_POOL_STATIC, 0 } + } + } +#endif #endif /* SS_LOCKLESS_MEMORY */ }; @@ -611,6 +624,21 @@ MtDynMemCfg mtDynMemoCfg = {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD} } } +#ifndef INTEL_WLS_MEM + , + { + SS_DFLT_REGION + 7, /* region id */ + MT_MAX_BKTS, /* number of buckets */ + { + /* block size, no. of blocks, Upper threshold, lower threshold */ + {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD}, + {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD}, + {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD}, + {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD}, + {SS_BLK_RELEASE_THRESHOLD, SS_BLK_ACQUIRE_THRESHOLD} + } + } +#endif #if ((defined (SPLIT_RLC_DL_TASK)) && (!defined (L2_L3_SPLIT))) , { @@ -777,6 +805,21 @@ MtMemCfg mtMemoCfg = {MT_BKT_4_DSIZE, MT_BKT_4_STATIC_NUMBLKS} /* block size, no. of blocks */ } } +#ifndef INTEL_WLS_MEM + , + { + SS_DFLT_REGION + 7, /* region id */ + MT_MAX_BKTS, /* number of buckets */ + MT_HEAP_SIZE, /* heap size */ + { + {MT_BKT_0_DSIZE, MT_BKT_0_STATIC_NUMBLKS}, /* block size, no. of blocks */ + {MT_BKT_1_DSIZE, MT_BKT_1_STATIC_NUMBLKS}, /* block size, no. of blocks */ + {MT_BKT_2_DSIZE, MT_BKT_2_STATIC_NUMBLKS}, /* block size, no. of blocks */ + {MT_BKT_3_DSIZE, MT_BKT_3_STATIC_NUMBLKS}, /* block size, no. of blocks */ + {MT_BKT_4_DSIZE, MT_BKT_4_STATIC_NUMBLKS} /* block size, no. of blocks */ + } + } +#endif #endif /* SS_LOCKLESS_MEMORY */ STATIC_MEM_CFG } @@ -844,13 +887,19 @@ S8 gWrWlsDeviceName[MAX_WLS_DEVICE_NAME_LEN]; S16 smWrReadWlsConfigParams (Void); #endif +/*WLS Memory Size variables*/ +#ifdef INTEL_L1_V20_03_ONWARDS +uint64_t nWlsMacMemorySize = 0; +uint64_t nWlsPhyMemorySize = 0; +#endif + static int SOpenWlsIntf() { uint8_t i; - void *hdl; + void *hdl = NULLP; #define WLS_DEVICE_NAME "wls0" - char *my_argv[] = {"gnodeb", "-c3", "--proc-type=auto", "--file-prefix", WLS_DEVICE_NAME, "--iova-mode=pa"}; + char *my_argv[] = {"gnodeb", "-c3", "--proc-type=auto", "--file-prefix", "gnb0", "--iova-mode=pa"}; printf("\nCalling rte_eal_init: "); for (i = 0; i < RTE_DIM(my_argv); i++) { @@ -868,8 +917,18 @@ static int SOpenWlsIntf() #else hdl = WLS_Open(WLS_DEVICE_NAME, 1); #endif +#else + +#ifdef INTEL_L1_V20_03_ONWARDS + hdl = WLS_Open(WLS_DEVICE_NAME, WLS_MASTER_CLIENT, &nWlsMacMemorySize, &nWlsPhyMemorySize); + if(hdl == NULL) + { + printf("\nERROR: WLS_Open > DEVICE_NAME mismatch. WLS Device Name should be same as 'wls_dev_name' parameter in 'phycfg_xran.xml' file"); + } #else hdl = WLS_Open(WLS_DEVICE_NAME, WLS_MASTER_CLIENT, WLS_MEM_SIZE); +#endif /*INTEL_L1_V20_03_ONWARDS*/ + #endif osCp.wls.intf = hdl; @@ -1538,7 +1597,9 @@ static S16 SAllocateWlsDynMem() mtDynMemSz[i].reqdSz += (mtGlobMemoCfg.bkt[i].blkSize * mtGlobMemoCfg.bkt[i].numBlks); } osCp.wls.allocAddr = WLS_Alloc(osCp.wls.intf, -#ifdef INTEL_L1_V19_10 +#ifdef INTEL_L1_V20_03_ONWARDS + nWlsMacMemorySize+nWlsPhyMemorySize); +#elif INTEL_L1_V19_10 WLS_MEMORY_SIZE); #else (reqdMemSz + (4 * 1024 * 1024)));