Merge "[Epic-ID: ODUHIGH-516][Task-ID: ODUHIGH-531] RIC Subscription Modification...
[o-du/l2.git] / src / 5gnrmac / lwr_mac.h
index 1b0c5be..fff6043 100644 (file)
 #ifndef __LWR_MAC_H__
 #define __LWR_MAC_H__
 
-#define MAX_NUM_CELL_SUPP 1
+#ifdef INTEL_WLS_MEM
+#define LWR_MAC_ALLOC(_datPtr, _size)   WLS_MEM_ALLOC(_datPtr, _size);
+#else                                     
+#define LWR_MAC_ALLOC(_datPtr, _size)   MAC_ALLOC(_datPtr, _size);
+#endif                                    
 
-#include "envdep.h"
-#include "gen.h"
-#include "ssi.h"
-#include "cm_hash.h"
-#include "cm_lte.h"
-
-#include "gen.x"
-#include "ssi.x"
-#include "cm_hash.x"
-#include "cm_lte.x"
-#include "cm_lib.x"
-#include "du_app_mac_inf.h"
+#ifdef INTEL_WLS_MEM
+#define LWR_MAC_FREE(_datPtr, _size) WLS_MEM_FREE(_datPtr, _size);
+#else
+#define LWR_MAC_FREE(_datPtr, _size) MAC_FREE(_datPtr, _size);
+#endif
 
 typedef enum
 {
@@ -45,36 +42,40 @@ typedef enum
 
 /* Events in Lower Mac */
 typedef enum{
-  FAPI_PARAM_REQUEST,
-  FAPI_PARAM_RESPONSE,
-  FAPI_CONFIG_REQUEST,
-  FAPI_CONFIG_RESPONSE,
-  FAPI_START_REQUEST,
-  FAPI_STOP_REQUEST,
-  MAX_EVENT
+#ifdef INTEL_TIMER_MODE
+   UL_IQ_SAMPLE,
+#endif
+   PARAM_REQUEST,
+   PARAM_RESPONSE,
+   CONFIG_REQUEST,
+   CONFIG_RESPONSE,
+   START_REQUEST,
+   STOP_REQUEST,
+   MAX_EVENT
 }EventState;
 
-typedef struct clCb
+typedef struct cellCb
+{
+   uint16_t     cellId;
+   uint16_t     phyCellId;
+   PhyState     state;
+}LwrMacCellCb;
+
+typedef struct lwrMacGlobalCb
 {
    Region          region;
    Pool            pool;
-   Bool            clCfgDone;   /* CL configuration done */
-   CmHashListCp    cellCbLst;   /* List of Cells configured */
-   U8              numOfCells;  /* Number of Cells configured */
+   bool            clCfgDone;   /* CL configuration done */
+   uint8_t         phySlotIndCntr;
+   LwrMacCellCb    cellCb[MAX_NUM_CELL];   /* List of Cells configured */
+   uint8_t         numCell;  /* Number of Cells configured */
    PhyState        phyState;    /* State of PHY */
    EventState      event;       /* State of Event */
-}ClCb;
-
-typedef struct cellCb
-{
-   U16         cellId;
-   MacCellCfg   cellCfg;
-   PhyState    phyState;
-}ClCellCb;
+}LwrMacCb;
 
 typedef enum
 {
-   RELEASE_15
+   FAPI_RELEASE_15
 }ReleaseCapab;
 
 typedef enum
@@ -227,9 +228,9 @@ typedef struct clCellParam
    ParamSupport          precoderGranularityCoreset;
    ParamSupport          pdcchMuMimo;
    ParamSupport          pdcchPrecoderCycling;
-   U8                    maxPdcchsPerSlot;
+   uint8_t               maxPdcchsPerSlot;
    Formats               pucchFormats;
-   U8                    maxPucchsPerSlot;   
+   uint8_t               maxPucchsPerSlot;   
    MappingType           pdschMappingType;
    AllocationType        pdschAllocationTypes;
    VrbToPrbMap           pdschVrbToPrbMapping;
@@ -237,10 +238,10 @@ typedef struct clCellParam
    DmrsConfigType        pdschDmrsConfigTypes;
    DmrMaxLen             pdschDmrsMaxLength;
    DmrsPos               pdschDmrsAdditionalPos;
-   U8                    maxPdschsTBsPerSlot;
-   U8                    maxNumberMimoLayersPdsch;
+   uint8_t               maxPdschsTBsPerSlot;
+   uint8_t               maxNumberMimoLayersPdsch;
    ModulationOrder       supportedMaxModulationOrderDl;
-   U8                    maxMuMimoUsersDl;
+   uint8_t               maxMuMimoUsersDl;
    ParamSupport          pdschDataInDmrsSymbols;
    ParamSupport          premptionSupport;
    ParamSupport          pdschNonSlotSupport;
@@ -254,11 +255,11 @@ typedef struct clCellParam
    MappingType           puschMappingType;
    AllocationType        puschAllocationTypes;
    VrbToPrbMap           puschVrbToPrbMapping;
-   U8                    puschMaxPtrsPorts;
-   U8                    maxPduschsTBsPerSlot;
-   U8                    maxNumberMimoLayersNonCbPusch;
+   uint8_t               puschMaxPtrsPorts;
+   uint8_t               maxPduschsTBsPerSlot;
+   uint8_t               maxNumberMimoLayersNonCbPusch;
    ModulationOrder       supportedModulationOrderUl;
-   U8                    maxMuMimoUsersUl;
+   uint8_t               maxMuMimoUsersUl;
    ParamSupport          dftsOfdmSupport;
    AggregationFactor     puschAggregationFactor;
    Formats                prachLongFormats;
@@ -268,11 +269,14 @@ typedef struct clCellParam
    RssiMeasurement       rssiMeasurementSupport;
 }ClCellParam;
 
-EXTERN ClCb clGlobalCp; 
-EXTERN ClCellCb * rgClUtlGetCellCb ARGS((U16 cellId));
+LwrMacCb lwrMacCb; 
+LwrMacCellCb * lwrMacGetCellCb ARGS((uint16_t cellId));
+uint32_t reverseBits(uint32_t num, uint8_t numBits);
+void fillDlDciPayload(uint8_t *buf, uint8_t *bytePos, uint8_t *bitPos,\
+      uint32_t val, uint8_t valSize);
 
 #endif
 
 /**********************************************************************
-         End of file
-**********************************************************************/
+  End of file
+ **********************************************************************/