- /* increment PUSCH PRB */
-
- cellCb->schUlSlotInfo[puschSlot]->puschCurrentPrb += numRb;
-
- puschInfo->crnti = ueCb->crnti;
- puschInfo->harqProcId = SCH_HARQ_PROC_ID;
- puschInfo->resAllocType = SCH_ALLOC_TYPE_1;
- puschInfo->fdAlloc.startPrb = startRb;
- puschInfo->fdAlloc.numPrb = numRb;
- puschInfo->tdAlloc.startSymb = startSymb;
- puschInfo->tdAlloc.numSymb = symbLen;
- puschInfo->tbInfo.qamOrder = ueCb->ueCfg.ulModInfo.modOrder;
- puschInfo->tbInfo.mcs = ueCb->ueCfg.ulModInfo.mcsIndex;
- puschInfo->tbInfo.mcsTable = ueCb->ueCfg.ulModInfo.mcsTable;
- puschInfo->tbInfo.ndi = 1; /* new transmission */
- puschInfo->tbInfo.rv = 0;
- puschInfo->tbInfo.tbSize = tbSize;
- puschInfo->dmrsMappingType = DMRS_MAP_TYPE_A; /* Setting Type-A */
- puschInfo->nrOfDmrsSymbols = NUM_DMRS_SYMBOLS;
- puschInfo->dmrsAddPos = DMRS_ADDITIONAL_POS;
-
- /* Update pusch in cell */
- for(idx=startSymb; idx<symbLen; idx++)
- {
- //cellCb->schUlSlotInfo[puschSlot]->assignedPrb[idx] = startRb + numRb;
- }
-
- schUlSlotInfo = cellCb->schUlSlotInfo[puschSlot];
-
+ allocatePrbUl(cellCb, puschTime, startSymb, symbLen, &startRb, numRb);
+
+ puschInfo.crnti = ueCb->crnti;
+ puschInfo.harqProcId = SCH_HARQ_PROC_ID;
+ puschInfo.resAllocType = SCH_ALLOC_TYPE_1;
+ puschInfo.fdAlloc.startPrb = startRb;
+ puschInfo.fdAlloc.numPrb = numRb;
+ puschInfo.tdAlloc.startSymb = startSymb;
+ puschInfo.tdAlloc.numSymb = symbLen;
+ puschInfo.tbInfo.qamOrder = ueCb->ueCfg.ulModInfo.modOrder;
+ puschInfo.tbInfo.mcs = ueCb->ueCfg.ulModInfo.mcsIndex;
+ puschInfo.tbInfo.mcsTable = ueCb->ueCfg.ulModInfo.mcsTable;
+ puschInfo.tbInfo.ndi = 1; /* new transmission */
+ puschInfo.tbInfo.rv = 0;
+ puschInfo.tbInfo.tbSize = tbSize;
+ puschInfo.dmrsMappingType = DMRS_MAP_TYPE_A; /* Setting Type-A */
+ puschInfo.nrOfDmrsSymbols = NUM_DMRS_SYMBOLS;
+ puschInfo.dmrsAddPos = DMRS_ADDITIONAL_POS;
+
+ schUlSlotInfo = cellCb->schUlSlotInfo[puschTime.slot];