X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fcm%2Fmac_sch_interface.h;h=72f172cf572567f2a8dafa5f66850eb6c2a9826b;hb=154ac5a3676b120c741184f7e58627df8003b5c0;hp=8cf9301bb0839fde8673f8355675515b1922e72b;hpb=7fb274708be5434e1573315b106c554d5562ac42;p=o-du%2Fl2.git diff --git a/src/cm/mac_sch_interface.h b/src/cm/mac_sch_interface.h index 8cf9301bb..72f172cf5 100644 --- a/src/cm/mac_sch_interface.h +++ b/src/cm/mac_sch_interface.h @@ -35,6 +35,7 @@ #define EVENT_UE_DELETE_RSP_TO_MAC 16 #define EVENT_CELL_DELETE_REQ_TO_SCH 17 #define EVENT_CELL_DELETE_RSP_TO_MAC 18 +#define EVENT_LONG_BSR 19 /*macros*/ @@ -83,11 +84,11 @@ #define MAX_NUM_PUCCH_P0_PER_SET 8 #define MAX_NUM_PATH_LOSS_REF_RS 4 #define MAX_NUM_DL_DATA_TO_UL_ACK 15 -#define SD_SIZE 3 #define QPSK_MODULATION 2 #define RAR_PAYLOAD_SIZE 10 /* As per spec 38.321, sections 6.1.5 and 6.2.3, RAR PDU is 8 bytes long and 2 bytes of padding */ #define TX_PAYLOAD_HDR_LEN 32 /* Intel L1 requires adding a 32 byte header to transmitted payload */ +#define UL_TX_BUFFER_SIZE 5 #define MAX_NUM_CONFIG_SLOTS 160 /*Max number of slots as per the numerology*/ #define MAX_NUM_K0_IDX 16 /* Max number of pdsch time domain downlink allocation */ @@ -118,6 +119,13 @@ } \ } +typedef enum +{ + PRB_RSRC, + DRB_RSRC, + RRC_CONNECTED_USERS_RSRC +}SchResourceType; + typedef enum { NO_TRANSMISSION, @@ -404,6 +412,7 @@ typedef enum typedef enum { + NONE, PDCCH_PDU, PDSCH_PDU, BOTH @@ -615,8 +624,9 @@ typedef struct schCandidatesInfo typedef struct schSearchSpaceCfg { - uint8_t searchSpaceId; - uint8_t coresetId; + uint8_t searchSpaceId; + uint8_t coresetId; + uint8_t freqDomainRsrc[FREQ_DOM_RSRC_SIZE]; /* Frequency domain resource */ uint16_t monitoringSlot; uint16_t duration; uint16_t monitoringSymbol; @@ -717,6 +727,21 @@ typedef struct schBwpUlCfg SchK2TimingInfoTbl k2InfoTbl; }SchBwpUlCfg; +typedef struct schPolicyMemberList +{ + Plmn plmn; + Snssai snssai; +}SchPolicyMemberList; + +typedef struct schRrmPolicy +{ + SchResourceType rsrcType; + SchPolicyMemberList memberList; + uint8_t policyMaxRatio; + uint8_t policyMinRatio; + uint8_t policyDedicatedRatio; +}SchRrmPolicy; + typedef struct schCellCfg { uint16_t cellId; /* Cell Id */ @@ -731,9 +756,12 @@ typedef struct schCellCfg SchRachCfg schRachCfg; /* PRACH config */ SchBwpDlCfg schInitialDlBwp; /* Initial DL BWP */ SchBwpUlCfg schInitialUlBwp; /* Initial UL BWP */ + uint8_t numSliceSupport; /* Total num of slice support */ + Snssai **snssai; /* List of supporting snssai*/ + SchRrmPolicy *rrmPolicy; /* RRM policy */ #ifdef NR_TDD TDDCfg tddCfg; /* TDD Cfg */ -#endif +#endif }SchCellCfg; typedef struct schCellCfgCfm @@ -835,15 +863,23 @@ typedef struct lcSchInfo uint32_t schBytes; /* Number of scheduled bytes */ }LcSchInfo; -typedef struct dlMsgAlloc +typedef struct dlMsgSchedInfo { - uint16_t crnti; uint8_t numLc; LcSchInfo lcSchInfo[MAX_NUM_LC]; /* Scheduled LC info */ BwpCfg bwp; PdcchCfg dlMsgPdcchCfg; PdschCfg dlMsgPdschCfg; + DlPduType pduPres; + uint8_t pdschSlot; DlMsgInfo dlMsgInfo; +}DlMsgSchInfo; + +typedef struct dlMsgAlloc +{ + uint16_t crnti; + uint8_t numSchedInfo; + DlMsgSchInfo dlMsgSchedInfo[2]; }DlMsgAlloc; typedef struct schSlotValue @@ -918,17 +954,13 @@ typedef struct dlSchedInfo DlBrdcstAlloc brdcstAlloc; /* Allocation for RAR message */ - //uint8_t isRarPres; - RarAlloc *rarAlloc; - - /* Allocation from MSG4 */ - //Msg4Alloc *msg4Alloc; + RarAlloc *rarAlloc[MAX_NUM_UE]; /* UL grant in response to BSR */ DciInfo *ulGrant; /* Allocation from dedicated DL msg */ - DlMsgAlloc *dlMsgAlloc; + DlMsgAlloc *dlMsgAlloc[MAX_NUM_UE]; }DlSchedInfo; @@ -1181,6 +1213,7 @@ typedef struct schInitalDlBwp SchPdcchConfig pdcchCfg; bool pdschCfgPres; SchPdschConfig pdschCfg; + bool k0K1TblPrsnt; SchK0K1TimingInfoTbl k0K1InfoTbl; }SchInitalDlBwp; @@ -1393,6 +1426,7 @@ typedef struct schInitialUlBwp SchPucchCfg pucchCfg; bool puschCfgPres; SchPuschCfg puschCfg; + bool k2TblPrsnt; SchK2TimingInfoTbl k2InfoTbl; }SchInitialUlBwp; @@ -1468,12 +1502,6 @@ typedef struct schDrbQos uint32_t ulPduSessAggMaxBitRate; /* UL PDU Session Aggregate max bit rate */ }SchDrbQosInfo; -typedef struct schSnssai -{ - uint8_t sst; - uint8_t sd[SD_SIZE]; -}SchSnssai; - /* Special cell configuration */ typedef struct schSpCellCfg { @@ -1503,7 +1531,7 @@ typedef struct schLcCfg ConfigType configType; uint8_t lcId; SchDrbQosInfo *drbQos; - SchSnssai *snssai; + Snssai *snssai; SchDlLcCfg dlLcCfg; SchUlLcCfg ulLcCfg; }SchLcCfg;