X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fdu_app_mac_inf.h;h=983290274c0673ba799d5c0bc2b56d3350c24e8a;hb=e698840bb6fcecc68be5b1d1fd17436bd1d5e83f;hp=ba1b0d2fe145f61ee451e1fd9287685664cf2b73;hpb=53088c437fc01fb772f221e228ba7475fb5131d5;p=o-du%2Fl2.git diff --git a/src/cm/du_app_mac_inf.h b/src/cm/du_app_mac_inf.h index ba1b0d2fe..983290274 100644 --- a/src/cm/du_app_mac_inf.h +++ b/src/cm/du_app_mac_inf.h @@ -37,7 +37,6 @@ #define SEARCHSPACE_4_INDEX 4 #define SS_MONITORING_SLOT_SL1 0 /* all slots */ #define SS_MONITORING_SYMBOL 0x2000; /* symbol-0, set 14th bit */ -#define SIB1_MCS 4 /* Macro for Ue Context */ #define MAX_NUM_SR_CFG_PER_CELL_GRP 8 /* Max number of scheduling request config per cell group */ @@ -48,8 +47,6 @@ #define MONITORING_SYMB_WITHIN_SLOT_SIZE 2 /* i.e. 2 bytes because size of monitoring symbols within slot is 14 bits */ #define MAX_NUM_DL_ALLOC 16 /* Max number of pdsch time domain downlink allocation */ #define MAX_NUM_UL_ALLOC 16 /* Max number of pusch time domain uplink allocation */ -#define SD_SIZE 3 /* Max size of Slice Differentiator in S-NSSAI */ - #define MAX_NUM_SCELL 32 /* PUCCH Configuration Macro */ @@ -76,6 +73,8 @@ #define EVENT_MAC_UE_RECONFIG_RSP 211 #define EVENT_MAC_UE_DELETE_REQ 212 #define EVENT_MAC_UE_DELETE_RSP 213 +#define EVENT_MAC_CELL_DELETE_REQ 214 +#define EVENT_MAC_CELL_DELETE_RSP 215 #define BSR_PERIODIC_TIMER_SF_10 10 #define BSR_RETX_TIMER_SF_320 320 @@ -94,6 +93,12 @@ typedef enum UEIDX_INVALID }UeDeleteStatus; +typedef enum +{ + SUCCESSFUL_RSP, + CELL_ID_INVALID +}CellDeleteStatus; + typedef enum { DUP_MODE_FDD, @@ -481,6 +486,13 @@ typedef enum MCS_TABLE_QAM64_LOW_SE }McsTable; +typedef enum +{ + RSRC_PRB, + RSRC_DRB, + RSRC_RRC_CONNECTED_USERS +}ResourceType; + typedef struct failureCause { CauseGrp type; @@ -592,12 +604,19 @@ typedef struct pdcchConfigCommon uint8_t raSearchSpaceId; }PdcchConfigCommon; -typedef struct pdschConfigCommon +typedef struct pdschCfgCommTimeDomRsrcAlloc { uint8_t k0; uint8_t mappingType; uint8_t startSymbol; uint8_t lengthSymbol; +}PdschCfgCommTimeDomRsrcAlloc; + +typedef struct pdschConfigCommon +{ + uint8_t numTimeDomAlloc; + /* PDSCH time domain DL resource allocation list */ + PdschCfgCommTimeDomRsrcAlloc timeDomRsrcAllocList[MAX_NUM_DL_ALLOC]; }PdschConfigCommon; typedef struct pucchConfigCommon @@ -606,13 +625,22 @@ typedef struct pucchConfigCommon uint8_t pucchGroupHopping; }PucchConfigCommon; +/* PUSCH Time Domain Resource Allocation */ +typedef struct puschTimeDomRsrcAlloc +{ + uint8_t k2; + CommonMappingType mappingType; + uint8_t startSymbol; + uint8_t symbolLength; + uint8_t startSymbolAndLength; +}PuschTimeDomRsrcAlloc; + + typedef struct puschConfigCommon { /* PUSCH-TimeDomainResourceAllocation info */ - uint8_t k2; - uint8_t mappingType; - uint8_t startSymbol; - uint8_t lengthSymbol; + uint8_t numTimeDomRsrcAlloc; + PuschTimeDomRsrcAlloc timeDomRsrcAllocList[MAX_NUM_UL_ALLOC]; /* PUSCH time domain UL resource allocation list */ }PuschConfigCommon; typedef struct bwpDlConfig @@ -630,6 +658,23 @@ typedef struct bwpUlConfig PuschConfigCommon puschCommon; }BwpUlConfig; +/* Single Network Slice Selection assistance Info */ + +typedef struct policyMemberList +{ + Plmn plmn; + Snssai snssai; +}PolicyMemberList; + +typedef struct rrmPolicy +{ + ResourceType rsrcType; + PolicyMemberList memberList; + uint8_t policyMaxRatio; + uint8_t policyMinRatio; + uint8_t policyDedicatedRatio; +}RrmPolicy; + typedef struct macCellCfg { uint16_t cellId; /* Cell Id */ @@ -650,6 +695,9 @@ typedef struct macCellCfg BwpDlConfig initialDlBwp; /* Initial DL BWP */ BwpUlConfig initialUlBwp; /* Initial UL BWP */ uint8_t dmrsTypeAPos; /* DMRS Type A position */ + uint8_t numSupportedSlice; /* Total slice supporting */ + Snssai **snssai; /* List of supporting snssai*/ + RrmPolicy *rrmPolicy; /* RRM policy details */ }MacCellCfg; typedef struct macCellCfgCfm @@ -783,6 +831,7 @@ typedef struct pdcchConfig /* PDSCH time domain resource allocation */ typedef struct pdschTimeDomRsrcAlloc { + uint8_t *k0; CommonMappingType mappingType; uint8_t startSymbol; uint8_t symbolLength; @@ -1033,16 +1082,6 @@ typedef struct dmrsUlCfg TransPrecodDisabled transPrecodDisabled; /* Transform precoding disabled */ }DmrsUlCfg; -/* PUSCH Time Domain Resource Allocation */ -typedef struct puschTimeDomRsrcAlloc -{ - uint8_t k2; - CommonMappingType mappingType; - uint8_t startSymbol; - uint8_t symbolLength; - uint8_t startSymbolAndLength; -}PuschTimeDomRsrcAlloc; - /* PUSCH Configuration */ typedef struct puschCfg { @@ -1097,13 +1136,6 @@ typedef struct ambrCfg uint32_t ulBr; /* UL Bit rate */ }AmbrCfg; -/* Single Network Slice Selection assistance Info */ -typedef struct snssai -{ - uint8_t sst; /* Slice Type */ - uint8_t sd[SD_SIZE]; /* Slice Differentiator */ -}Snssai; - typedef struct nonDynFiveQi { uint16_t fiveQi; @@ -1244,17 +1276,28 @@ typedef struct ueCfgRsp typedef struct ueDelete { uint16_t cellId; - uint8_t ueIdx; + uint8_t ueId; uint16_t crnti; }MacUeDelete; typedef struct ueDeleteRsp { uint16_t cellId; - uint8_t ueIdx; + uint8_t ueId; UeDeleteStatus result; }MacUeDeleteRsp; +typedef struct macCellDelete +{ + uint16_t cellId; +}MacCellDelete; + +typedef struct macCellDeleteRsp +{ + uint16_t cellId; + CellDeleteStatus result; +}MacCellDeleteRsp; + /* Functions for slot Ind from MAC to DU APP*/ typedef uint8_t (*DuMacCellUpInd) ARGS(( Pst *pst, @@ -1317,14 +1360,25 @@ typedef uint8_t (*DuMacUeReconfigReq) ARGS(( Pst *pst, MacUeCfg *ueCfg )); +/* UE Delete Request from DU APP to MAC*/ typedef uint8_t (*DuMacUeDeleteReq) ARGS(( Pst *pst, MacUeDelete *ueDel )); +/* UE Delete Response from MAC to DU APP*/ typedef uint8_t (*MacDuUeDeleteRspFunc) ARGS(( Pst *pst, MacUeDeleteRsp *deleteRsp)); +/* Cell Delete Request from DU APP to MAC*/ +typedef uint8_t (*DuMacCellDeleteReq) ARGS(( + Pst *pst, + MacCellDelete *cellDelete )); + +/* Cell Delete Response from MAC to DU APP*/ +typedef uint8_t (*MacDuCellDeleteRspFunc) ARGS(( + Pst *pst, + MacCellDeleteRsp *cellDeleteRsp)); uint8_t packMacCellUpInd(Pst *pst, OduCellId *cellId); uint8_t unpackMacCellUpInd(DuMacCellUpInd func, Pst *pst, Buffer *mBuf); @@ -1366,6 +1420,13 @@ uint8_t unpackMacUeDeleteReq(DuMacUeDeleteReq func, Pst *pst, Buffer *mBuf); uint8_t packDuMacUeDeleteRsp(Pst *pst, MacUeDeleteRsp *deleteRsp); uint8_t DuProcMacUeDeleteRsp(Pst *pst, MacUeDeleteRsp *deleteRsp); uint8_t unpackDuMacUeDeleteRsp(MacDuUeDeleteRspFunc func, Pst *pst, Buffer *mBuf); +uint8_t packDuMacCellDeleteReq(Pst *pst, MacCellDelete *cellDelete); +uint8_t MacProcCellDeleteReq(Pst *pst, MacCellDelete *cellDelete); +uint8_t unpackMacCellDeleteReq(DuMacCellDeleteReq func, Pst *pst, Buffer *mBuf); +uint8_t packDuMacCellDeleteRsp(Pst *pst, MacCellDeleteRsp *cellDeleteRsp); +uint8_t DuProcMacCellDeleteRsp(Pst *pst, MacCellDeleteRsp *cellDeleteRsp); +uint8_t unpackDuMacCellDeleteRsp(MacDuCellDeleteRspFunc func, Pst *pst, Buffer *mBuf); + #endif