X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Fmac.h;h=5630501ab3555163027841bb08cc3279beaf8de6;hb=8748e788a43465b180c15d31908c276504dad6d4;hp=6c27527b65e3385e87d8015aca014062dab57e5b;hpb=0bdf00d1edf579ee8b5841e1a80d48d9bb91c7e8;p=o-du%2Fl2.git diff --git a/src/5gnrmac/mac.h b/src/5gnrmac/mac.h index 6c27527b6..5630501ab 100644 --- a/src/5gnrmac/mac.h +++ b/src/5gnrmac/mac.h @@ -23,8 +23,9 @@ #define MAX_CRI_SIZE 6 #define MAX_MAC_DL_PDU 16 #define MAX_NUM_HARQ_PROC 16 -#define MAX_SLOT_SUPPORTED 10 /* numerology 0 15Khz */ #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 DEFAULT_CELLS 1 #define SI_RNTI 0xFFFF @@ -51,6 +52,13 @@ typedef struct macCellCb MacCellCb; +typedef enum +{ + CELL_STATE_UP, + CELL_STATE_DELETION_IN_PROGRESS, + CELL_STATE_DOWN +}CellState; + typedef enum { UE_STATE_INACTIVE, @@ -178,10 +186,11 @@ typedef struct macUeCb struct macCellCb { uint16_t cellId; + CellState state; uint8_t crntiMap; MacRaCbInfo macRaCb[MAX_NUM_UE]; - MacDlSlot dlSlot[MAX_SLOT_SUPPORTED]; - MacUlSlot ulSlot[MAX_SLOT_SUPPORTED]; + MacDlSlot dlSlot[MAX_SLOTS]; + MacUlSlot ulSlot[MAX_SLOTS]; uint16_t numActvUe; MacUeCfg *ueCfgTmpData[MAX_NUM_UE]; MacUeCb ueCb[MAX_NUM_UE]; @@ -193,6 +202,10 @@ typedef struct macCb { Inst macInst; ProcId procId; + uint8_t tmrRes; /*!< Timer resolution */ + CmTqCp tmrTqCp; /*!< Timer Task Queue Cntrl Point */ + CmTqType tmrTq[MAC_TQ_SIZE]; /*!< Timer Task Queue */ + CmTimer tmrBlk[MAX_NUM_TIMER]; /*!< Timer Block */ MacCellCb *macCell[MAX_NUM_CELL]; }MacCb; @@ -200,6 +213,7 @@ typedef struct macCb MacCb macCb; /* Function declarations */ +short int macActvTmr(Ent ent,Inst inst); void fillRarPdu(RarInfo *rarInfo); void createMacRaCb(RachIndInfo *rachIndInfo); void fillMsg4DlData(MacDlData *dlData, uint16_t msg4PduLen, uint8_t *msg4Pdu);