[Epic-ID: ODUHIGH-516][Task-ID: ODUHIGH-523] Statistics Response between DU APP and...
[o-du/l2.git] / src / cm / mac_sch_interface.h
index 88b347e..781973f 100644 (file)
@@ -51,6 +51,9 @@
 #define EVENT_DL_CQI_TO_SCH          32
 #define EVENT_UL_CQI_TO_SCH          33
 #define EVENT_PHR_IND_TO_SCH         34
+#define EVENT_STATISTICS_REQ_TO_SCH  35
+#define EVENT_STATISTICS_RSP_TO_MAC  36
+
 /*macros*/
 #define MAX_SSB_IDX 1 /* forcing it as 1 for now. Right value is 64 */
 #define SCH_SSB_MASK_SIZE   1
@@ -448,6 +451,13 @@ typedef enum
    CQI_PUSCH
 }CqiUlReportType;
 
+/* Performance measurements from 3GPP TS 28.552 Release 15 */
+typedef enum
+{
+   SCH_DL_TOTAL_PRB_USAGE,
+   SCH_UL_TOTAL_PRB_USAGE
+}SchMeasurementType;
+
 /*structures*/
 typedef struct timeDomainAlloc
 {
@@ -884,7 +894,6 @@ typedef struct schCellCfg
    uint16_t        phyCellId;               /* Physical cell id */
    SchPlmnInfoList plmnInfoList[MAX_PLMN];  /* Consits of PlmnId and Snssai list */
    SchDuplexMode   dupMode;                 /* Duplex type: TDD/FDD */
-   uint8_t         numerology;              /* Supported numerology */
    uint8_t         dlBandwidth;             /* Supported B/W */
    uint8_t         ulBandwidth;             /* Supported B/W */
    SchDlCfgCommon  dlCfgCommon;             /*Spec 38.331 DownlinkConfigCommonSIB*/
@@ -899,8 +908,8 @@ typedef struct schCellCfg
    SchSSBPeriod        ssbPeriod;        /* SSB Periodicity in msec */
    uint32_t            ssbFrequency;     /* SB frequency in kHz*/
    uint8_t             dmrsTypeAPos;
-   uint8_t             scsCommon;        /* subcarrier spacing for common [0-3]*/
-   SchPdcchConfigSib1  pdcchCfgSib1;      /* Req to configure CORESET#0 and SearchSpace#0*/
+   uint8_t             ssbScs;           /* SSB subcarrier spacing*/
+   SchPdcchConfigSib1  pdcchCfgSib1;     /* Req to configure CORESET#0 and SearchSpace#0*/
    uint32_t            ssbPbchPwr;       /* SSB block power */
    uint8_t             ssbSubcOffset;    /* Subcarrier Offset(Kssb) */
    uint16_t            sib1PduLen;
@@ -2238,8 +2247,25 @@ typedef struct schRlsHqInfo
    SchUeHqInfo  *ueHqInfo;
 }SchRlsHqInfo;
 
+typedef struct schStatsInfo
+{
+   SchMeasurementType type;
+   uint16_t           periodicity;  /* In milliseconds */
+}SchStatsInfo;
+
+typedef struct schStatsReq
+{
+   uint8_t   numStats;
+   SchStatsInfo statsList[MAX_NUM_STATS];
+}SchStatsReq;
+
+typedef struct schStatsRsp
+{
+   SchMacRsp rsp; 
+   CauseOfResult cause;
+}SchStatsRsp;
+
 /* function declarations */
-uint8_t schActvInit(Ent entity, Inst instId, Region region, Reason reason);
 uint8_t MacMessageRouter(Pst *pst, void *msg);
 uint8_t SchMessageRouter(Pst *pst, void *msg);