X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fdu_app_mac_inf.h;h=c5dbf841a3cd1b971c1daa73236bf13452404145;hb=79661a503b0e6bcbe20fe0e19eb920110ab35242;hp=efb935da6f7910651c84760d2f0d37279a597eb1;hpb=dcf40f0b1856cf1fad8209661067cf6e0aa9837a;p=o-du%2Fl2.git diff --git a/src/cm/du_app_mac_inf.h b/src/cm/du_app_mac_inf.h index efb935da6..c5dbf841a 100644 --- a/src/cm/du_app_mac_inf.h +++ b/src/cm/du_app_mac_inf.h @@ -24,7 +24,6 @@ #define NUM_SSB 1 /* max value is 64 */ #define SSB_MASK_SIZE 1 /* SSB mask size is 32bit for sub6 */ -#define SIB1_NEW_TX_PERIOD 160 #define SIB1_REPETITION_PERIOD 20 #define CORESET_0_INDEX 0 #define CORESET_1_INDEX 1 @@ -51,8 +50,6 @@ #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_SRB 8 -#define MAX_NUM_DRB 64 #define MAX_NUM_SCELL 32 /* PUCCH Configuration Macro */ @@ -77,6 +74,10 @@ #define EVENT_MAC_UE_CREATE_RSP 209 #define EVENT_MAC_UE_RECONFIG_REQ 210 #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 @@ -88,6 +89,19 @@ typedef enum MAC_DU_APP_RSP_OK }MacRsp; +typedef enum +{ + SUCCESS, + CELLID_INVALID, + UEIDX_INVALID +}UeDeleteStatus; + +typedef enum +{ + SUCCESSFUL_RSP, + CELL_ID_INVALID +}CellDeleteStatus; + typedef enum { DUP_MODE_FDD, @@ -546,7 +560,6 @@ typedef struct sib1CellCfg { uint8_t *sib1Pdu; uint16_t sib1PduLen; - uint16_t sib1NewTxPeriod; uint16_t sib1RepetitionPeriod; uint8_t coresetZeroIndex; /* derived from 4 LSB of pdcchSib1 present in MIB */ uint8_t searchSpaceZeroIndex; /* derived from 4 MSB of pdcchSib1 present in MIB */ @@ -587,12 +600,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 @@ -601,13 +621,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 @@ -778,6 +807,7 @@ typedef struct pdcchConfig /* PDSCH time domain resource allocation */ typedef struct pdschTimeDomRsrcAlloc { + uint8_t *k0; CommonMappingType mappingType; uint8_t startSymbol; uint8_t symbolLength; @@ -1028,16 +1058,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 { @@ -1090,7 +1110,6 @@ typedef struct spCellCfg typedef struct ambrCfg { uint32_t ulBr; /* UL Bit rate */ - uint32_t dlBr; /* DL Bit rate */ }AmbrCfg; /* Single Network Slice Selection assistance Info */ @@ -1186,8 +1205,11 @@ typedef struct macUeCfg uint16_t cellId; uint8_t ueIdx; uint16_t crnti; + bool macCellGrpCfgPres; MacCellGrpCfg macCellGrpCfg; + bool phyCellGrpCfgPres; PhyCellGrpCfg phyCellGrpCfg; + bool spCellCfgPres; SpCellCfg spCellCfg; AmbrCfg *ambrCfg; ModulationInfo dlModInfo; /* DL modulation info */ @@ -1234,6 +1256,31 @@ typedef struct ueCfgRsp SCellFailInfo *failedSCellList; }MacUeCfgRsp; +typedef struct ueDelete +{ + uint16_t cellId; + uint8_t ueId; + uint16_t crnti; +}MacUeDelete; + +typedef struct ueDeleteRsp +{ + uint16_t cellId; + 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, @@ -1296,6 +1343,26 @@ 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); uint8_t duHandleCellUpInd(Pst *pst, OduCellId *cellId); @@ -1330,9 +1397,22 @@ uint8_t DuProcMacUeCfgRsp(Pst *pst, MacUeCfgRsp *cfgRsp); uint8_t packDuMacUeReconfigReq(Pst *pst, MacUeCfg *ueCfg); uint8_t unpackMacUeReconfigReq(DuMacUeReconfigReq func, Pst *pst, Buffer *mBuf); uint8_t MacProcUeReconfigReq(Pst *pst, MacUeCfg *ueCfg); +uint8_t packDuMacUeDeleteReq(Pst *pst, MacUeDelete *ueDelete); +uint8_t MacProcUeDeleteReq(Pst *pst, MacUeDelete *ueDelete); +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 + /********************************************************************** End of file **********************************************************************/