X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Flwr_mac.h;h=fff6043599c7fd4568931b289e8a5899c3a7bf35;hb=05d098e6b94f629a932caaff404f2b703b123852;hp=d153bccb2e07f6c3a1ae61472b3c409ef373f838;hpb=5ea4c59cb4dd37164953218b0bd355284e11d22c;p=o-du%2Fl2.git diff --git a/src/5gnrmac/lwr_mac.h b/src/5gnrmac/lwr_mac.h index d153bccb2..fff604359 100644 --- a/src/5gnrmac/lwr_mac.h +++ b/src/5gnrmac/lwr_mac.h @@ -20,18 +20,17 @@ #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 "gen.x" -#include "ssi.x" -#include "cm_hash.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 { @@ -43,36 +42,40 @@ typedef enum /* Events in Lower Mac */ typedef enum{ - PARAM_REQ, - PARAM_RSP, - CONFIG_REQ, - CONFIG_RSP, - START_REQ, - STOP_REQ, - 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 @@ -225,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; @@ -235,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; @@ -252,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; @@ -266,12 +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 + **********************************************************************/