Merge "Encoding of MSG3 UL grant in RAR PDU [Issue-ID: ODUHIGH-342]"
authorHarshita Lal <harshita.lal@radisys.com>
Mon, 30 Aug 2021 04:57:43 +0000 (04:57 +0000)
committerGerrit Code Review <gerrit@o-ran-sc.org>
Mon, 30 Aug 2021 04:57:43 +0000 (04:57 +0000)
1  2 
src/cm/mac_sch_interface.h

  #define MAX_NUM_K0_IDX 16 /* Max number of pdsch time domain downlink allocation */
  #define MAX_NUM_K1_IDX 8  /* As per spec 38.213 section 9.2.3 Max number of PDSCH-to-HARQ resource indication */
  #define MIN_NUM_K1_IDX 4  /* Min K1 values */
 -#define DEFAULT_K0_VALUE 0 /*As per 38.331, PDSCH-TimeDomainResourceAllocation field descriptions*/
 +#define MAX_NUM_K2_IDX 16 /* PUSCH time domain UL resource allocation list */
 +#define DEFAULT_K0_VALUE 0 /* As per 38.331, PDSCH-TimeDomainResourceAllocation field descriptions */
 +/* As per 38.331, PUSCH-TimeDomainResourceAllocationList field descriptions */
 +#define DEFAULT_K2_VALUE_FOR_SCS15  1 
 +#define DEFAULT_K2_VALUE_FOR_SCS30  1 
 +#define DEFAULT_K2_VALUE_FOR_SCS60  2
 +#define DEFAULT_K2_VALUE_FOR_SCS120 3 
  
  #define ADD_DELTA_TO_TIME(crntTime, toFill, incr)          \
  {                                                          \
@@@ -688,24 -682,11 +688,24 @@@ typedef struct schBwpDlCf
     SchK0K1TimingInfoTbl k0K1InfoTbl;
  }SchBwpDlCfg;
  
 +typedef struct schK2TimingInfo
 +{
 +   uint8_t numK2; 
 +   uint8_t k2Indexes[MAX_NUM_K2_IDX]; 
 +}SchK2TimingInfo;
 +
 +typedef struct schK2TimingInfoTbl
 +{
 +   uint16_t tblSize; 
 +   SchK2TimingInfo k2TimingInfo[MAX_NUM_CONFIG_SLOTS]; 
 +}SchK2TimingInfoTbl;
 +
  typedef struct schBwpUlCfg
  {
     SchBwpParams   bwp;
     SchPucchCfgCmn pucchCommon;
     SchPuschCfgCmn puschCommon;
 +   SchK2TimingInfoTbl k2InfoTbl;
  }SchBwpUlCfg;
  
  typedef struct schCellCfg
@@@ -773,12 -754,23 +773,23 @@@ typedef struct dlBrdcstAllo
     Sib1AllocInfo sib1Alloc;
  }DlBrdcstAlloc;
  
+ typedef struct msg3UlGrant
+ {
+    uint8_t         freqHopFlag;
+    uint16_t        bwpSize;
+    FreqDomainAlloc msg3FreqAlloc;
+    uint8_t         k2Index;
+    uint8_t         mcs;
+    uint8_t         tpc;
+    uint8_t         csiReq;
+ }Msg3UlGrant;
  typedef struct rarInfo
  {
     uint16_t        raRnti;
     uint8_t         RAPID;
     uint16_t        ta;
-    FreqDomainAlloc msg3FreqAlloc;
+    Msg3UlGrant     ulGrant;
     uint16_t        tcrnti;
     uint8_t         rarPdu[RAR_PAYLOAD_SIZE];
     uint8_t         rarPduLen;
@@@ -1371,7 -1363,6 +1382,7 @@@ typedef struct schInitialUlBw
     SchPucchCfg   pucchCfg;
     bool          puschCfgPres;
     SchPuschCfg   puschCfg;
 +   SchK2TimingInfoTbl k2InfoTbl;
  }SchInitialUlBwp;
  
  /* Uplink BWP information */