Muxing mac pdu and lower mac changes for Msg4
[o-du/l2.git] / src / cm / tfu.x
index 69bf8e8..e6466f6 100755 (executable)
@@ -2503,6 +2503,74 @@ typedef struct tfuDelDatReqInfo
 } TfuDelDatReqInfo;
 #endif
 
+typedef struct slotIndInfo
+{
+   U16 sfn;
+   U16 slot;
+}SlotIndInfo;
+
+typedef struct rachPreamInfo
+{
+   uint8_t   preamIdx;
+   uint16_t  timingAdv;
+}RachPreamInfo;
+
+typedef struct rachPduInfo
+{
+   uint16_t   pci;
+   uint8_t    symbolIdx;
+   uint8_t    slotIdx;
+   uint8_t    freqIdx;
+   uint8_t    numPream;
+   RachPreamInfo   preamInfo[MAX_PREAM_PER_SLOT];
+}RachPduInfo;
+
+typedef struct rachInd
+{
+  SlotIndInfo   timingInfo;
+  uint8_t       numPdu;
+  RachPduInfo   rachPdu[MAX_RACH_PDU_PER_SLOT];
+}RachInd;
+
+typedef struct crcInfo
+{
+    uint32_t   handle;
+    uint16_t   rnti;
+    uint8_t    harqId;
+    uint8_t    tbCrcStatus;
+    uint16_t   numCb;
+    uint8_t    cbCrcStatus[MAX_CB_PER_TTI_IN_BYTES];
+    uint8_t    ul_cqi;
+    uint16_t   timingAdvance;
+    uint16_t   rssi;
+}CrcInfo;
+
+typedef struct crcInd
+{
+   SlotIndInfo   timingInfo;
+   uint16_t      numCrc;
+   CrcInfo       crcInfo[MAX_CRCS_PER_SLOT];
+}CrcInd;
+
+typedef struct 
+{
+   uint32_t      handle;
+   uint16_t      rnti;
+   uint8_t       harqId;
+   uint16_t      pduLength;
+   uint8_t       ul_cqi;
+   uint16_t      timingAdvance;
+   uint16_t      rssi;
+   uint8_t       *pduData;
+}RxDataIndPdu;
+typedef struct 
+{
+   SlotIndInfo   timingInfo;
+   uint16_t      numPdus;
+   RxDataIndPdu  pdus[MAX_ULSCH_PDUS_PER_TTI];
+}RxDataInd;
+
 
 typedef S16 (*TfuBndReq) ARGS((
    Pst*                 pst,
@@ -2615,8 +2683,7 @@ typedef S16 (*TfuTtiCell) ARGS((
 /* CA dev End */
 typedef S16 (*TfuTtiInd) ARGS((
    Pst *                pst,
-   SuId                 suId,
-   TfuTtiIndInfo *      ttiInd));
+   SlotIndInfo *      slotInd));
 
 #if defined(TENB_T2K3K_SPECIFIC_CHANGES) && defined(LTE_TDD)
 typedef S16 (*TfuNonRtInd) ARGS((
@@ -2626,8 +2693,8 @@ typedef S16 (*TfuNonRtInd) ARGS((
 
 typedef S16 (*TfuSchTtiInd) ARGS((
    Pst *                pst,
-   SuId                 suId,
-   TfuTtiIndInfo *      ttiInd));
+//   SuId                 suId,
+   SlotIndInfo*         slotInd));
 
 typedef S16 (*TfuPucchDeltaPwrInd) ARGS((
    Pst *                pst,
@@ -3061,6 +3128,12 @@ EXTERN S16 RgLiTfuDatInd ARGS((
    TfuDatIndInfo *      datInd
 ));
 
+EXTERN S16 fapiMacSlotInd 
+(
+Pst                 *pst, 
+SlotIndInfo         *slotInd
+);
+
 EXTERN S16 RgLiTfuCrcInd ARGS((
    Pst *                pst,
    SuId                 suId,
@@ -3091,10 +3164,9 @@ EXTERN S16 RgLiTfuTtiInd ARGS((
    TfuTtiIndInfo *      ttiInd
 ));
 
-EXTERN S16 RgLiTfuSchTtiInd ARGS((
+EXTERN int macSchSlotInd ARGS((
    Pst *                pst,
-   SuId                 suId,
-   TfuTtiIndInfo *      ttiInd
+   SlotIndInfo *        slotInd
 ));
 
 #if defined(TENB_T2K3K_SPECIFIC_CHANGES) && defined(LTE_TDD)
@@ -3463,12 +3535,17 @@ EXTERN S16 cmPkTfuTtiInd ARGS((
 ));
 /** @brief This API is the TTI indication from PHY to MAC.
  */
-EXTERN S16 cmUnpkTfuTtiInd ARGS((
+EXTERN S16 cmUnpackSlotInd ARGS((
    TfuTtiInd            func,
    Pst *                pst,
    Buffer               *mBuf
 ));
 
+typedef int (*MacSchSlotIndFunc)     ARGS((                     
+   Pst         *pst,        /* Post Structure */                         
+   SlotIndInfo *slotInd     /* slot ind Info */                      
+));
+
 #if defined(TENB_T2K3K_SPECIFIC_CHANGES) && defined(LTE_TDD)
 /** @brief This API is the non-rt indication from PHY to MAC.
   */
@@ -3495,8 +3572,8 @@ EXTERN S16 cmPkTfuSchTtiInd ARGS((
 ));
 /** @brief This API is the TTI indication from PHY to SCH.
  */
-EXTERN S16 cmUnpkTfuSchTtiInd ARGS((
-   TfuSchTtiInd         func,
+EXTERN S16 cmUnpackMacSchSlotInd ARGS((
+   MacSchSlotIndFunc    func,
    Pst *                pst,
    Buffer               *mBuf
 ));
@@ -4198,8 +4275,8 @@ EXTERN S16 cmPkTfuTtiIndInfo ARGS((
    TfuTtiIndInfo        *param,
    Buffer               *mBuf
 ));
-EXTERN S16 cmUnpkTfuTtiIndInfo ARGS((
-   TfuTtiIndInfo        *param,
+EXTERN S16 cmUnpackSlotIndInfo ARGS((
+   SlotIndInfo          *param,
    Buffer               *mBuf
 ));
 EXTERN S16 cmPkTfuRaReqInfo ARGS((
@@ -4474,7 +4551,6 @@ EXTERN S16 cmPkTfuDciFormat61aInfo ARGS((
 
 #endif
 
-
 #endif
 
 /* LTE_UNLICENSED */