</SCS_SPEC_CARRIER>
<RACH_CFG_COMMON>
<PRESENT>2</PRESENT>
- <PRACH_CONFIG_IDX>88</PRACH_CONFIG_IDX>
+ <PRACH_CONFIG_IDX>66</PRACH_CONFIG_IDX>
<MSG_1_FDM>0</MSG_1_FDM>
<MAX_NUM_RB>273</MAX_NUM_RB>
<PRACH_MAX_PRB>24</PRACH_MAX_PRB>
<PRACH_CFG>
<PRACH_SEQ_LEN>1</PRACH_SEQ_LEN>
<NR_SCS>30</NR_SCS>
- <PRACH_CONFIG_IDX>88</PRACH_CONFIG_IDX>
+ <PRACH_CONFIG_IDX>66</PRACH_CONFIG_IDX>
<NUM_PRACH_FDM>1</NUM_PRACH_FDM>
<FDM_LIST>
<FDM_INFO>
uint8_t fillRarTxDataReq(fapi_tx_pdu_desc_t *pduDesc, uint16_t pduIndex, RarInfo *rarInfo, PdschCfg *pdschCfg)
{
-#ifndef OAI_TESTING
#ifndef OAI_TESTING
uint32_t payloadSize = 0;
-#else
- uint16_t payloadSize = 0;
-#endif
uint8_t *rarPayload = NULLP;
fapi_api_queue_elem_t *payloadElem = NULLP;
payloadSize = pdschCfg->codeword[0].tbSize;
-#ifndef OAI_TESTING
pduDesc[pduIndex].pdu_index = pduIndex;
pduDesc[pduIndex].num_tlvs = 1;
/* fill the TLV */
pduDesc[pduIndex].tlvs[0].tl.tag = FAPI_TX_DATA_PTR_TO_PAYLOAD_64;
pduDesc[pduIndex].tlvs[0].tl.length = payloadSize;
-#else
- pduDesc[pduIndex].pdu_index = reverseBytes16(pduIndex);
- pduDesc[pduIndex].num_tlvs = reverseBytes32(1);
- /* fill the TLV */
- pduDesc[pduIndex].tlvs[0].tl.tag = reverseBytes16(FAPI_TX_DATA_PTR_TO_PAYLOAD_32);
- pduDesc[pduIndex].tlvs[0].tl.length = reverseBytes16(payloadSize);
-#endif
LWR_MAC_ALLOC(rarPayload, payloadSize);
if(rarPayload == NULLP)
#endif
pduDesc[pduIndex].pdu_length = payloadSize;
-#ifdef OAI_TESTING
- pduDesc[pduIndex].pdu_length = reverseBytes16(pduDesc[pduIndex].pdu_length);
-#endif
#ifdef INTEL_WLS_MEM
addWlsBlockToFree(rarPayload, payloadSize, (lwrMacCb.phySlotIndCntr-1));
#else
LWR_MAC_FREE(rarPayload, payloadSize);
#endif
+
+#else
+
+ uint8_t tlvPaddingLen =get_tlv_padding(rarInfo->rarPduLen);
+ uint16_t totalLen= rarInfo->rarPduLen +tlvPaddingLen;
+ pduDesc[pduIndex].pdu_length = totalLen;
+ pduDesc[pduIndex].pdu_length = reverseBytes16(pduDesc[pduIndex].pdu_length);
+
+ pduDesc[pduIndex].pdu_index = reverseBytes16(pduIndex);
+ pduDesc[pduIndex].num_tlvs = reverseBytes32(1);
+ /* fill the TLV */
+ pduDesc[pduIndex].tlvs[0].tag = reverseBytes16(FAPI_TX_DATA_PAYLOAD);
+ pduDesc[pduIndex].tlvs[0].length = reverseBytes16(rarInfo->rarPduLen);
+
+ memcpy(pduDesc[pduIndex].tlvs[0].value.direct, rarInfo->rarPdu, rarInfo->rarPduLen);
+
#endif /* FAPI */
return ROK;
}
prachCfgIdx = cell->cellCfg.ulCfgCommon.schInitialUlBwp.schRachCfg.prachCfgGeneric.prachCfgIdx;
prachFormat = prachCfgIdxTable[prachCfgIdx][0];
prachStartSymbol = prachCfgIdxTable[prachCfgIdx][4];
- prachOcas = prachCfgIdxTable[prachCfgIdx][6];
prachDuration = prachCfgIdxTable[prachCfgIdx][7];
+ if(prachFormat>3)
+ {
+ prachOcas = prachCfgIdxTable[prachCfgIdx][6];
+ }
+ else
+ {
+ /* Note - as per spec 38.211 sec 5.3.2, N(ra,slot) is fixed to 1 for L_RA = 839 (long seq format)*/
+ prachOcas = 1;
+ }
/* numRa determined as 𝑛 belonging {0,1,.., M − 1},
* where M is given by msg1Fdm */