X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fmac_sch_interface.h;h=83e9eb5b02f66c044570f9aa9d238f0bee1ecd3b;hb=791615463ef2fcc0d6e0697d7860e6e6a56bd9a6;hp=0b824473351724079aaf59a86e9d244af6865857;hpb=2193e4cf01012809495be026097e8d7eacb9f0ac;p=o-du%2Fl2.git diff --git a/src/cm/mac_sch_interface.h b/src/cm/mac_sch_interface.h index 0b8244733..83e9eb5b0 100644 --- a/src/cm/mac_sch_interface.h +++ b/src/cm/mac_sch_interface.h @@ -24,11 +24,14 @@ #define EVENT_RACH_IND_TO_SCH 5 #define EVENT_CRC_IND_TO_SCH 6 #define EVENT_DL_RLC_BO_INFO_TO_SCH 7 -#define EVENT_UE_CREATE_REQ_TO_SCH 8 -#define EVENT_UE_CREATE_RSP_TO_MAC 9 +#define EVENT_ADD_UE_CONFIG_REQ_TO_SCH 8 +#define EVENT_UE_CONFIG_RSP_TO_MAC 9 #define EVENT_SLOT_IND_TO_SCH 10 #define EVENT_SHORT_BSR 11 #define EVENT_UCI_IND_TO_SCH 12 +#define EVENT_MODIFY_UE_CONFIG_REQ_TO_SCH 13 +#define EVENT_UE_RECONFIG_RSP_TO_MAC 14 + /*macros*/ #define NO_SSB 0 @@ -230,13 +233,13 @@ typedef enum typedef enum { - INTERLEAVED_CCE_REG_MAPPING, + INTERLEAVED_CCE_REG_MAPPING = 1, NONINTERLEAVED_CCE_REG_MAPPING }SchREGMappingType; typedef enum { - SLOT_PERIODICITY_AND_OFFSET_SL_1, + SLOT_PERIODICITY_AND_OFFSET_SL_1 = 1, SLOT_PERIODICITY_AND_OFFSET_SL_2, SLOT_PERIODICITY_AND_OFFSET_SL_4, SLOT_PERIODICITY_AND_OFFSET_SL_5, @@ -261,10 +264,16 @@ typedef enum typedef enum { - SEARCH_SPACE_TYPE_COMMON, + SEARCH_SPACE_TYPE_COMMON = 1, SEARCH_SPACE_TYPE_UE_SPECIFIC }SchSearchSpaceType; +typedef enum +{ + SCH_QOS_NON_DYNAMIC = 1, + SCH_QOS_DYNAMIC +}SchQosType; + typedef enum { AGGREGATION_LEVEL_N0, @@ -291,10 +300,24 @@ typedef enum typedef enum { - STATIC_BUNDLING_TYPE, + STATIC_BUNDLING_TYPE = 1, DYNAMIC_BUNDLING_TYPE }SchBundlingType; +typedef enum +{ + SCH_SET1_SIZE_N4, + SCH_SET1_SIZE_WIDEBAND, + SCH_SET1_SIZE_N2_WIDEBAND, + SCH_SET1_SIZE_N4_WIDEBAND +}SchBundlingSizeSet1; + +typedef enum +{ + SCH_SET2_SIZE_N4, + SCH_SET2_SIZE_WIDEBAND +}SchBundlingSizeSet2; + typedef enum { DUPLEX_MODE_FDD, @@ -976,6 +999,20 @@ typedef struct schPdschTimeDomRsrcAlloc uint8_t symbolLength; }SchPdschTimeDomRsrcAlloc; + +typedef struct schPdschBundling +{ + struct schStaticBundling + { + SchBundlingSizeSet2 size; + }SchStaticBundling; + struct schDynamicBundling + { + SchBundlingSizeSet1 sizeSet1; + SchBundlingSizeSet2 sizeSet2; + }SchDynamicBundling; +}SchPdschBundling; + /* DMRS downlink configuration */ typedef struct schDmrsDlCfg { @@ -992,6 +1029,7 @@ typedef struct schPdschConfig SchRBGSize rbgSize; SchCodeWordsSchedByDci numCodeWordsSchByDci; /* Number of code words scheduled by DCI */ SchBundlingType bundlingType; + SchPdschBundling bundlingInfo; }SchPdschConfig; /* Initial Downlink BWP */ @@ -1055,6 +1093,7 @@ typedef struct schPuschTimeDomRsrcAlloc /* PUSCH Configuration */ typedef struct schPuschCfg { + uint8_t dataScramblingId; SchDmrsUlCfg dmrsUlCfgForPuschMapTypeA; SchResourceAllocType resourceAllocType; uint8_t numTimeDomRsrcAlloc; @@ -1131,7 +1170,7 @@ typedef struct schGrbQosFlowInfo /* DRB QoS */ typedef struct schDrbQos { - uint8_t fiveQiType; /* Dynamic or non-dynamic */ + SchQosType fiveQiType; /* Dynamic or non-dynamic */ union { SchNonDynFiveQi nonDyn5Qi; @@ -1175,19 +1214,20 @@ typedef struct schDlLcCfg /* Logical Channel configuration */ typedef struct schLcCfg { + ConfigType configType; uint8_t lcId; SchDrbQosInfo *drbQos; SchSnssai *snssai; SchDlLcCfg dlLcCfg; - SchUlLcCfg *ulLcCfg; + SchUlLcCfg ulLcCfg; }SchLcCfg; /* Aggregate max bit rate */ -typedef struct aggrMaxBitRate +typedef struct schAmbrCfg { - uint32_t ulBitRate; - uint32_t dlBitRate; -}SchAggrMaxBitRate; + uint32_t ulBr; /* Ul BitRate */ + uint32_t dlBr; /* Dl BitRate */ +}SchAmbrCfg; /* UE configuration */ typedef struct schUeCfg @@ -1197,9 +1237,9 @@ typedef struct schUeCfg SchMacCellGrpCfg macCellGrpCfg; SchPhyCellGrpCfg phyCellGrpCfg; SchSpCellCfg spCellCfg; - SchAggrMaxBitRate *aggrMaxBitRate; - uint8_t numLc; - SchLcCfg lcCfgList[MAX_NUM_LC]; + SchAmbrCfg *ambrCfg; + uint8_t numLcs; + SchLcCfg schLcCfg[MAX_NUM_LC]; }SchUeCfg; typedef struct schUeCfgRsp @@ -1269,7 +1309,7 @@ typedef uint8_t (*MacSchDlRlcBoInfoFunc) ARGS(( Pst *pst, /* Post structure */ DlRlcBoInfo *dlBoInfo)); /* DL BO Info */ -typedef uint8_t (*MacSchUeCreateReqFunc) ARGS(( +typedef uint8_t (*MacSchAddUeConfigReqFunc) ARGS(( Pst *pst, /* Post structure */ SchUeCfg *ueCfgToSch)); /* Scheduler UE Cfg */ @@ -1290,6 +1330,13 @@ typedef uint8_t (*MacSchSrUciIndFunc) ARGS(( Pst *pst, /* Post structure */ SrUciIndInfo *uciInd)); /* UCI IND Info */ +typedef uint8_t (*MacSchModUeConfigReqFunc) ARGS(( + Pst *pst, /* Post structure */ + SchUeCfg *ueCfgToSch)); /* Scheduler UE Cfg */ + +typedef uint8_t (*SchUeReCfgRspFunc) ARGS(( + Pst *pst, /* Post structure */ + SchUeCfgRsp *cfgRsp)); /* Scheduler UE Cfg response */ /* function declarations */ uint8_t packMacSchSlotInd(Pst *pst, SlotIndInfo *slotInd); @@ -1310,8 +1357,8 @@ uint8_t packMacSchCrcInd(Pst *pst, CrcIndInfo *crcInd); uint8_t MacSchCrcInd(Pst *pst, CrcIndInfo *crcInd); uint8_t packMacSchDlRlcBoInfo(Pst *pst, DlRlcBoInfo *dlBoInfo); uint8_t MacSchDlRlcBoInfo(Pst *pst, DlRlcBoInfo *dlBoInfo); -uint8_t packMacSchUeCreateReq(Pst *pst, SchUeCfg *ueCfgToSch); -uint8_t MacSchUeCreateReq(Pst *pst, SchUeCfg *ueCfgToSch); +uint8_t packMacSchAddUeConfigReq(Pst *pst, SchUeCfg *ueCfgToSch); +uint8_t MacSchAddUeConfigReq(Pst *pst, SchUeCfg *ueCfgToSch); uint8_t packSchUeCfgRsp(Pst *pst, SchUeCfgRsp *cfgRsp); uint8_t MacProcSchUeCfgRsp(Pst *pst, SchUeCfgRsp *cfgRsp); uint8_t MacSchSlotInd ARGS((Pst * pst, SlotIndInfo * slotInd)); @@ -1321,6 +1368,10 @@ uint8_t packMacSchBsr(Pst *pst, UlBufferStatusRptInd *bsrInd); uint8_t MacSchBsr(Pst *pst, UlBufferStatusRptInd *bsrInd); uint8_t packMacSchSrUciInd(Pst *pst, SrUciIndInfo *uciInd); uint8_t MacSchSrUciInd(Pst *pst, SrUciIndInfo *uciInd); +uint8_t packMacSchModUeConfigReq(Pst *pst, SchUeCfg *ueCfgToSch); +uint8_t MacSchModUeConfigReq(Pst *pst, SchUeCfg *ueCfgToSch); +uint8_t packSchUeReconfigRsp(Pst *pst, SchUeCfgRsp *cfgRsp); +uint8_t MacProcSchUeReconfigRsp(Pst *pst, SchUeCfgRsp *cfgRsp); /********************************************************************** End of file