Merge "Automation scripts"
[o-du/l2.git] / src / cm / mac_sch_interface.h
index e585379..599b638 100644 (file)
 #define EVENT_UCI_IND_TO_SCH         12
 #define EVENT_MODIFY_UE_CONFIG_REQ_TO_SCH 13
 #define EVENT_UE_RECONFIG_RSP_TO_MAC 14
+#define EVENT_UE_DELETE_REQ_TO_SCH   15
+#define EVENT_UE_DELETE_RSP_TO_MAC   16
+#define EVENT_CELL_DELETE_REQ_TO_SCH   17
+#define EVENT_CELL_DELETE_RSP_TO_MAC   18
 
 
 /*macros*/
 #define MAX_SR_BITS_IN_BYTES       1
 #define MAX_NUM_LOGICAL_CHANNEL_GROUPS 8
 /* can we have a common numslot numscs between mac sch */
+#ifdef NR_TDD
+#define MAX_SLOTS 20
+#else
 #define MAX_SLOTS 10
+#endif
 #define MAX_SFN   1024
 #define MAX_NUM_SR_CFG_PER_CELL_GRP 8   /* Max number of scheduling request config per cell group */
 #define MAX_NUM_TAGS 4                  /* Max number of timing advance groups */
@@ -84,6 +92,8 @@
 #define MAX_NUM_DL_DATA_TO_UL_ACK 15
 #define SD_SIZE   3
 
+#define TX_PAYLOAD_HDR_LEN 32           /* Intel L1 requires adding a 32 byte header to transmitted payload */
+
 #define ADD_DELTA_TO_TIME(crntTime, toFill, incr)          \
 {                                                          \
    if ((crntTime.slot + incr) > (MAX_SLOTS - 1))           \
@@ -121,6 +131,13 @@ typedef enum
    SR_PROHIBIT_MS128
 }SchSrProhibitTimer;
 
+typedef enum
+{
+   NOT_APPLICABLE,
+   INVALID_CELLID,
+   INVALID_UEIDX
+}ErrorCause;
+
 typedef enum
 {
    SR_TRANS_MAX_N4,
@@ -444,7 +461,7 @@ typedef struct dmrsInfo
 typedef struct pdschFreqAlloc
 {
    uint8_t  resourceAllocType;
-   /* since we are using type-1, hence rbBitmap excluded */
+   /* since we are using type-1, rbBitmap excluded */
    FreqDomainAlloc freqAlloc;
    uint8_t  vrbPrbMapping;
 } PdschFreqAlloc;
@@ -530,7 +547,6 @@ typedef struct
 {
    /* parameters recieved from DU-APP */
    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 */
@@ -632,9 +648,11 @@ typedef struct schCellCfg
 {
    uint16_t       cellId;           /* Cell Id */
    uint16_t       phyCellId;        /* Physical cell id */
-   uint8_t        bandwidth;        /* Supported B/W */
    uint8_t        numerology;       /* Supported numerology */
    SchDuplexMode  dupMode;          /* Duplex type: TDD/FDD */
+   uint8_t        bandwidth;        /* Supported B/W */
+   uint32_t       dlFreq;           /* DL Frequency */
+   uint32_t       ulFreq;           /* UL Frequency */
    SchSsbCfg      ssbSchCfg;        /* SSB config */
    SchSib1Cfg     sib1SchCfg;       /* SIB1 config */
    SchRachCfg     schRachCfg;       /* PRACH config */
@@ -728,7 +746,7 @@ typedef struct dlMsgInfo
 typedef struct lcSchInfo
 {
    uint8_t   lcId;
-   uint16_t  schBytes; /* Number of scheduled bytes */
+   uint32_t  schBytes; /* Number of scheduled bytes */
 }LcSchInfo;
 
 typedef struct dlMsgAlloc
@@ -1414,7 +1432,6 @@ typedef struct schLcCfg
 typedef struct schAmbrCfg
 {
    uint32_t   ulBr;   /* Ul BitRate */
-   uint32_t   dlBr;   /* Dl BitRate */
 }SchAmbrCfg;
 
 typedef struct schModulationInfo
@@ -1429,8 +1446,11 @@ typedef struct schUeCfg
 {
    uint16_t        cellId;
    uint16_t        crnti;
+   bool macCellGrpCfgPres;
    SchMacCellGrpCfg   macCellGrpCfg;
+   bool phyCellGrpCfgPres;
    SchPhyCellGrpCfg   phyCellGrpCfg;
+   bool spCellCfgPres;
    SchSpCellCfg       spCellCfg;
    SchAmbrCfg         *ambrCfg;
    SchModulationInfo  dlModInfo;
@@ -1448,6 +1468,32 @@ typedef struct schUeCfgRsp
    SchFailureCause cause;
 }SchUeCfgRsp;
 
+typedef struct schUeDelete
+{
+   uint16_t   cellId;
+   uint16_t   crnti;
+}SchUeDelete;
+
+typedef struct schUeDeleteRsp
+{
+   uint16_t   cellId;
+   uint16_t   crnti;
+   SchMacRsp  rsp;
+   ErrorCause cause;
+}SchUeDeleteRsp;
+
+typedef struct schCellDelete 
+{
+   uint16_t   cellId;
+}SchCellDelete;
+
+
+typedef struct schCellDeleteRsp
+{
+   uint16_t   cellId;
+   SchMacRsp  rsp;
+}SchCellDeleteRsp;
+
 typedef struct dataVolInfo
 {
    uint8_t  lcgId;
@@ -1535,6 +1581,22 @@ typedef uint8_t (*SchUeReCfgRspFunc) ARGS((
         Pst         *pst,           /* Post structure */
         SchUeCfgRsp *cfgRsp));       /* Scheduler UE Cfg response */
 
+typedef uint8_t (*MacSchUeDeleteReqFunc) ARGS((
+   Pst         *pst,           /* Post structure */
+   SchUeDelete *schUeDel)); /*Scheduler UE Del*/
+
+typedef uint8_t (*SchUeDeleteRspFunc) ARGS((
+   Pst          *pst,           /* Post structure */
+   SchUeDeleteRsp *delRsp));       /* Scheduler UE delete response */
+
+typedef uint8_t (*MacSchCellDeleteReqFunc) ARGS((
+   Pst         *pst,           /* Post structure */
+   SchCellDelete *schCellDelete)); /*Scheduler UE Del*/
+
+typedef uint8_t (*SchCellDeleteRspFunc) ARGS((
+   Pst          *pst,           /* Post structure */
+   SchCellDeleteRsp *schCellDeleteRsp));       /* Scheduler UE delete response */
+
 /* function declarations */
 uint8_t packMacSchSlotInd(Pst *pst, SlotIndInfo *slotInd);
 uint8_t packSchMacDlAlloc(Pst *pst, DlSchedInfo  *dlSchedInfo);
@@ -1569,6 +1631,14 @@ 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);
+uint8_t packMacSchUeDeleteReq(Pst *pst,  SchUeDelete *schUeDel);
+uint8_t MacSchUeDeleteReq(Pst *pst, SchUeDelete  *ueDelete);
+uint8_t packSchUeDeleteRsp(Pst *pst, SchUeDeleteRsp  *delRsp);
+uint8_t MacProcSchUeDeleteRsp(Pst *pst, SchUeDeleteRsp *schUeDelRsp);
+uint8_t packMacSchCellDeleteReq(Pst *pst,  SchCellDelete *schCellDelete);
+uint8_t MacSchCellDeleteReq(Pst *pst, SchCellDelete  *schCellDelete);
+uint8_t packSchCellDeleteRsp(Pst *pst, SchCellDeleteRsp  *schCellDeleteRsp);
+uint8_t MacProcSchCellDeleteRsp(Pst *pst, SchCellDeleteRsp *schCellDeleteRsp);
 
 /**********************************************************************
   End of file