X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrsch%2Fsch.h;h=65c2a25e0f4dd7bc64e2ba58972fae75dbd7b959;hb=34dbaa11b812648ba3fbea113d9772947ed6b85c;hp=21a5ecbfa1b4ab1258a0f87d4b1a064f701f406b;hpb=f191979f3454e08cc049af12d6323819730260ef;p=o-du%2Fl2.git diff --git a/src/5gnrsch/sch.h b/src/5gnrsch/sch.h index 21a5ecbfa..65c2a25e0 100644 --- a/src/5gnrsch/sch.h +++ b/src/5gnrsch/sch.h @@ -51,6 +51,7 @@ #define DMRS_ADDITIONAL_POS 0 #define SCH_DEFAULT_K1 1 #define SCH_TQ_SIZE 10 +#define SSB_IDX_SUPPORTED 1 #define CRC_FAILED 0 #define CRC_PASSED 1 @@ -82,6 +83,13 @@ typedef enum SCH_LC_STATE_ACTIVE }SchLcState; +typedef enum +{ + WINDOW_YET_TO_START, + WITHIN_WINDOW, + WINDOW_EXPIRED +}RaRspWindowStatus; + /** * @brief * Structure holding LTE MAC's General Configuration information. @@ -111,8 +119,8 @@ typedef struct schDlSlotInfo uint8_t ssbIdxSupported; /*!< Max SSB index */ SsbInfo ssbInfo[MAX_SSB_IDX]; /*!< SSB info */ bool sib1Pres; /*!< Flag to determine if SIB1 is present in this slot */ - RarInfo *rarInfo; /*!< RAR info */ - DlMsgInfo *dlMsgInfo; /*!< DL dedicated Msg info */ + RarAlloc *rarAlloc; /*!< RAR allocation */ + DlMsgInfo *dlMsgInfo; /*!< DL dedicated Msg info */ }SchDlSlotInfo; typedef struct schRaCb @@ -152,6 +160,8 @@ typedef struct schLcCtxt uint8_t lcp; // logical Channel Prioritization SchLcState lcState; uint32_t bo; + uint16_t pduSessionId; /*Pdu Session Id*/ + SchSnssai *snssai; /*S-NSSAI assoc with LCID*/ }SchDlLcCtxt; typedef struct schDlCb @@ -169,6 +179,8 @@ typedef struct schUlLcCtxt uint8_t schReqId; uint8_t pbr; // prioritisedBitRate uint8_t bsd; // bucketSizeDuration + uint16_t pduSessionId; /*Pdu Session Id*/ + SchSnssai *snssai; /*S-NSSAI assoc with LCID*/ }SchUlLcCtxt; typedef struct schUlCb @@ -209,6 +221,18 @@ typedef struct schUeCb SchDlCb dlInfo; }SchUeCb; +/** + * @brief + * RA Request Info + */ +typedef struct schRaReq +{ + uint32_t raRnti; + RachIndInfo *rachInd; + SlotTimingInfo winStartTime; + SlotTimingInfo winEndTime; +}SchRaReq; + /** * @brief * Cell Control block per cell. @@ -219,14 +243,15 @@ typedef struct schCellCb Inst instIdx; /*!< Index of the scheduler instance */ Inst macInst; /*!< Index of the MAC instance */ uint8_t numSlots; /*!< Number of slots in current frame */ - SlotIndInfo slotInfo; /*!< SFN, Slot info being processed*/ + SlotTimingInfo slotInfo; /*!< SFN, Slot info being processed*/ SchDlSlotInfo **schDlSlotInfo; /*!< SCH resource allocations in DL */ SchUlSlotInfo **schUlSlotInfo; /*!< SCH resource allocations in UL */ SchCellCfg cellCfg; /*!< Cell ocnfiguration */ bool firstSsbTransmitted; bool firstSib1Transmitted; uint8_t ssbStartSymbArr[SCH_MAX_SSB_BEAM]; /*!