X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Fmac.h;h=69fa37a3efa4e2776f19d0749ac6b33120899854;hb=45d134510deb6902b870b4a0fb574b6075fba601;hp=ff88ad0f5ad71a63265bddd7fa6eee6c1574c8f5;hpb=392607b7a8cbf1b7415b15517275dd1ef4e897a9;p=o-du%2Fl2.git diff --git a/src/5gnrmac/mac.h b/src/5gnrmac/mac.h index ff88ad0f5..69fa37a3e 100644 --- a/src/5gnrmac/mac.h +++ b/src/5gnrmac/mac.h @@ -18,48 +18,17 @@ #ifndef _MAC_H_ #define _MAC_H_ -#include - -/* header include files (.h) */ -#include "envopt.h" /* environment options */ -#include "envdep.h" /* environment dependent */ -#include "envind.h" /* environment independent */ -#include "gen.h" /* general */ -#include "ssi.h" /* system services */ -#include "cm_tkns.h" /* Common Token Defines */ -#include "cm_llist.h" /* Common Link List Defines */ -#include "cm_hash.h" /* Common Hash List Defines */ -#include "cm_lte.h" /* Common LTE Defines */ -#include "cm_mblk.h" /* Common LTE Defines */ -#include "rgu.h" /* RGU interface includes*/ -#include "tfu.h" /* TFU Interface defines */ -#include "lrg.h" -#include "du_app_mac_inf.h" -#include "mac_sch_interface.h" -#include "rg.h" - -/* header/extern include files (.x) */ -#include "gen.x" /* general */ -#include "ssi.x" /* system services */ -#include "cm_tkns.x" /* Common Token Definitions */ -#include "cm_llist.x" /* Common Link List Definitions */ -#include "cm_lib.x" /* Common Library Definitions */ -#include "cm_hash.x" /* Common Hash List Definitions */ -#include "cm_lte.x" /* Common LTE Defines */ -#include "cm_mblk.x" /* Common LTE Defines */ -#include "rgu.x" -#include "tfu.x" /* RGU Interface includes */ -#include "lrg.x" - -#define MAX_SLOT_SUPPORTED 10 /* numerology 0 15Khz */ -#define MAX_ZERO_CORR_CFG_IDX 16 /* max zero correlation config index */ -#define SI_RNTI 0xFFFF -#define P_RNTI 0xFFFE +/* MAX values */ #define MAX_MAC_CE 6 -#define MAX_UE 1 #define MAX_CRI_SIZE 6 #define MAX_MAC_DL_PDU 10 #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 DEFAULT_CELLS 1 +#define SI_RNTI 0xFFFF +#define P_RNTI 0xFFFE #define PERIODIC_BSR_TMR_1MS 1 #define PERIODIC_BSR_TMR_5MS 5 @@ -245,30 +214,31 @@ typedef struct macUeCb struct macCellCb { uint16_t cellId; - MacRaCbInfo macRaCb[MAX_UE]; + MacRaCbInfo macRaCb[MAX_NUM_UE]; MacDlSlot dlSlot[MAX_SLOT_SUPPORTED]; MacUlSlot ulSlot[MAX_SLOT_SUPPORTED]; uint16_t numActvUe; - MacUeCb ueCb[MAX_UE]; + MacUeCb ueCb[MAX_NUM_UE]; + MacCellCfg macCellCfg; + SlotIndInfo currTime; }; typedef struct macCb { Inst macInst; ProcId procId; - MacCellCb *macCell; + MacCellCb *macCell[MAX_NUM_CELL]; }MacCb; /* global variable */ MacCb macCb; -void fillMacToSchPst(Pst *pst); void fillRarPdu(RarInfo *rarInfo); void createMacRaCb(uint16_t cellId, uint16_t crnti); -void fillMsg4DlData(MacDlData *dlData, uint8_t *msg4Pdu); +void fillMsg4DlData(uint16_t cellId, MacDlData *dlData, uint8_t *msg4Pdu); void fillMacCe(MacCeInfo *macCeData, uint8_t *msg3Pdu); void macMuxPdu(MacDlData *dlData, MacCeInfo *macCeData, uint8_t *msg4TxPdu, uint16_t tbSize); -int unpackRxData(RxDataIndPdu *rxDataIndPdu); -uint16_t macSendUlCcchInd(uint8_t *rrcContainer, uint16_t cellId, uint16_t crnti); +uint8_t unpackRxData(uint16_t cellId, RxDataIndPdu *rxDataIndPdu); +uint8_t macSendUlCcchInd(uint8_t *rrcContainer, uint16_t cellId, uint16_t crnti); void fillMg4Pdu(Msg4Alloc *msg4Alloc); void buildAndSendMuxPdu(SlotIndInfo currTimingInfo);