X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Fmac.h;h=d4a3f80cfd73bd2464f1a516b99cf65d73b3bf23;hb=e54c2aae19e97065def9e5ab2d1488477b1ea209;hp=647299f6d757ddd48160c5b37e0d57f00227f677;hpb=95d4c229dc30cec27c98ee66b5b689779a48dcc9;p=o-du%2Fl2.git diff --git a/src/5gnrmac/mac.h b/src/5gnrmac/mac.h index 647299f6d..d4a3f80cf 100644 --- a/src/5gnrmac/mac.h +++ b/src/5gnrmac/mac.h @@ -26,6 +26,7 @@ #define MAX_ZERO_CORR_CFG_IDX 16 /* max zero correlation config index */ #define MAC_TQ_SIZE 10 /* Timing Queue Size */ #define MAX_NUM_TIMER 1 /* MAX number of MAC timers */ +#define MAX_PENDING_STATS_RSP 5 /* Maximum number of statistics request for which response is pending */ #define DEFAULT_CELLS 1 #define SI_RNTI 0xFFFF @@ -59,6 +60,7 @@ #define LC_ID_SIZE 6 #define TIMING_ADVANCE_SIZE 12 #define T_CRNTI_SIZE 16 + /* UL Grant is of size = 27 bits. Refer to Spec 38.213, Table 8.2-1 for * contents of UL grant in RAR */ #define FREQ_HOP_FLAG_SIZE 1 @@ -113,7 +115,7 @@ typedef struct macDlSlot typedef struct macUlSlot { - UlSchedInfo ulInfo; + UlSchedInfo ulSchInfo; }MacUlSlot; typedef struct macCbInfo @@ -245,6 +247,15 @@ struct macCellCb SlotTimingInfo currTime; }; +typedef struct macStatistics +{ + uint8_t numPendingStatsRsp; + MacStatsRsp pendingStatsRsp[MAX_PENDING_STATS_RSP]; + + /* This structure can be developed in future to add details of + * the statistics to be calculated at MAC */ +}MacStatistics; + typedef struct macCb { Inst macInst; @@ -254,10 +265,11 @@ typedef struct macCb CmTqType tmrTq[MAC_TQ_SIZE]; /*!< Timer Task Queue */ CmTimer tmrBlk[MAX_NUM_TIMER]; /*!< Timer Block */ MacCellCb *macCell[MAX_NUM_CELL]; + MacStatistics statistics; }MacCb; /* global variable */ -MacCb macCb; +extern MacCb macCb; /* Function declarations */ uint8_t macActvInit ARGS((Ent entity, Inst inst, Region region, Reason reason)); @@ -287,6 +299,12 @@ uint8_t MacProcUlSchInfo(Pst *pst, UlSchedInfo *ulSchedInfo); uint8_t MacProcSchRachRsrcRsp(Pst *pst, SchRachRsrcRsp *schRachRsrcRsp); uint8_t MacProcDlPageAlloc(Pst *pst, DlPageAlloc *dlPageAlloc); uint8_t MacProcSchCellDeleteRsp(Pst *pst, SchCellDeleteRsp *schCellDeleteRsp); + +uint8_t MacProcSchStatsRsp(Pst *pst, SchStatsRsp *schStatsRsp); +uint8_t MacProcSchStatsInd(Pst *pst, SchStatsInd *schStatsInd); +uint8_t MacProcSchStatsDeleteRsp(Pst *pst, SchStatsDeleteRsp *schStatsDeleteRsp); +uint8_t MacProcSchStatsModificationRsp(Pst *pst, SchStatsModificationRsp *schStatsModificationRsp); + #endif /********************************************************************** End of file