Skip to content

Commit

Permalink
fixing RAR PDU information in the TX data request
Browse files Browse the repository at this point in the history
Change-Id: I3f4d5d2352824a20e5fca79967b14ac672b042ee
Signed-off-by: pborla <[email protected]>
  • Loading branch information
pborla committed Nov 25, 2024
1 parent 717a5e4 commit cb06fa7
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 18 deletions.
4 changes: 2 additions & 2 deletions build/config/tdd_odu_config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@
</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>
Expand Down Expand Up @@ -547,7 +547,7 @@
<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>
Expand Down
31 changes: 16 additions & 15 deletions src/5gnrmac/lwr_mac_fsm.c
Original file line number Diff line number Diff line change
Expand Up @@ -4178,12 +4178,8 @@ uint8_t fillPageTxDataReq(fapi_tx_pdu_desc_t *pduDesc, uint16_t pduIndex, DlPage
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;
Expand All @@ -4193,19 +4189,11 @@ uint8_t fillRarTxDataReq(fapi_tx_pdu_desc_t *pduDesc, uint16_t pduIndex, RarInfo

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)
Expand All @@ -4223,15 +4211,28 @@ uint8_t fillRarTxDataReq(fapi_tx_pdu_desc_t *pduDesc, uint16_t pduIndex, RarInfo
#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;
}
Expand Down
10 changes: 9 additions & 1 deletion src/5gnrsch/sch_rach.c
Original file line number Diff line number Diff line change
Expand Up @@ -162,8 +162,16 @@ void schPrachResAlloc(SchCellCb *cell, UlSchedInfo *ulSchedInfo, SlotTimingInfo
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 */
Expand Down

0 comments on commit cb06fa7

Please sign in to comment.