{
if(datIndInfo->lchData[i].pdu.mBuf[j])
{
- RLC_FREE_BUF_WC(datIndInfo->lchData[i].pdu.mBuf[j]);
+ ODU_PUT_MSG_BUF(datIndInfo->lchData[i].pdu.mBuf[j]);
}
}
}
{
if(pduInfo->mBuf[j])
{
- RLC_FREE_BUF_WC(pduInfo->mBuf[j]);
+ ODU_PUT_MSG_BUF(pduInfo->mBuf[j]);
}
}
continue;
{
DU_LOG("\nRLC : rlcUtlSendUlDataToDu: Memory allocation failed UEID:%d \
CELLID:%d", rbCb->rlcId.ueId, rbCb->rlcId.cellId);
- RLC_FREE_BUF(sdu);
+ ODU_PUT_MSG_BUF(sdu);
return RFAILED;
}
#endif /* ERRCLASS & ERRCLS_ADD_RES */
} /* rlcUtlSendUlDataToDu */
-PRIVATE Void dumpRLCUlRbInformation(RlcUlRbCb* ulRbCb)
+static Void dumpRLCUlRbInformation(RlcUlRbCb* ulRbCb)
{
if(ulRbCb->mode == CM_LTE_MODE_UM)
{
* @return Void
*
*/
-#ifdef ANSI
- Void rlcUtlCalUlIpThrPutIncTTI
-(
-RlcCb *gCb,
-RlcUlRbCb *rbCb,
-uint32_t ttiCnt
-)
-#else
-Void rlcUtlCalUlIpThrPutIncTTI(gCb, rbCb, ttiCnt)
-RlcCb *gCb;
-RlcUlRbCb *rbCb;
-uint32_t ttiCnt;
-#endif
+Void rlcUtlCalUlIpThrPutIncTTI(RlcCb *gCb,RlcUlRbCb *rbCb,uint32_t ttiCnt)
{
- VOLATILE uint32_t startTime = 0;
+ volatile uint32_t startTime = 0;
/*starting Task*/
SStartTask(&startTime, PID_RLC_IP_TPT_INCTTI);
* @return Void
*
*/
-#ifdef ANSI
- Void rlcUtlCalUlIpThrPut
+Void rlcUtlCalUlIpThrPut
(
RlcCb *gCb,
RlcUlRbCb *rbCb,
Buffer *pdu,
uint32_t ttiCnt
)
-#else
-Void rlcUtlCalUlIpThrPut(gCb, rbCb, pdu, ttiCnt)
-RlcCb *gCb;
-RlcUlRbCb *rbCb;
-Buffer *pdu;
-uint32_t ttiCnt;
-#endif
{
MsgLen rlcSduSz = 0; /*Holds length of Rlc Sdu*/
- VOLATILE uint32_t startTime = 0;
+ volatile uint32_t startTime = 0;
/*starting Task*/
SStartTask(&startTime, PID_RLC_IP_TPT_INCVOL);
* -# ROK
*/
-#ifdef ANSI
-S16 rlcUtlHdlL2TmrExp
-(
-RlcCb *gCb,
-RlcL2MeasEvtCb *measEvtCb
-)
-#else
-S16 rlcUtlHdlL2TmrExp(measEvtCb)
-RlcCb *gCb;
-RlcL2MeasEvtCb *measEvtCb;
-#endif
+S16 rlcUtlHdlL2TmrExp(RlcCb *gCb,RlcL2MeasEvtCb *measEvtCb)
{
#ifdef LTE_L2_MEAS_RLC
* -# ROK
*/
-#ifdef ANSI
-S16 rlcUtlSndUlL2MeasCfm
-(
-RlcCb *gCb,
-RlcL2MeasEvtCb *measEvtCb
-)
-#else
-S16 rlcUtlSndUlL2MeasCfm(gCb, measEvtCb)
-RlcCb *gCb;
-RlcL2MeasEvtCb *measEvtCb;
-#endif
+S16 rlcUtlSndUlL2MeasCfm(RlcCb *gCb,RlcL2MeasEvtCb *measEvtCb)
{
uint32_t qciIdx;
RlcL2MeasCb *measCb;
* -# ROK
*/
-#ifdef ANSI
-S16 rlcUtlSndUlL2MeasNCfm
-(
-RlcCb *gCb,
-RlcL2MeasReqEvt *measReqEvt,
-RlcL2MeasCfmEvt *measCfmEvt
-)
-#else
-S16 rlcUtlSndUlL2MeasNCfm(gCb, measReqEvt, measCfmEvt)
-RlcCb *gCb;
-RlcL2MeasReqEvt *measReqEvt;
-RlcL2MeasCfmEvt *measCfmEvt;
-#endif
+S16 rlcUtlSndUlL2MeasNCfm(RlcCb *gCb,RlcL2MeasReqEvt *measReqEvt,RlcL2MeasCfmEvt *measCfmEvt)
{
RlcMiLkwL2MeasCfm(&gCb->genCfg.lmPst, measCfmEvt);
* @param[out] numLCh Number of LCh in array lChId.
**/
-#ifdef ANSI
S16 rlcUtlValidateL2Meas
(
RlcL2MeasReqEvt *measReqEvt,
RlcL2MeasCfmEvt *measCfmEvt,
-CmLteLcId *lChId,
-uint8_t *numLCh
+CmLteLcId *lChId,
+uint8_t *numLCh
)
-#else
-S16 rlcUtlValidateL2Meas(measReqEvt, measCfmEvt, lChId, numLCh)
-RlcL2MeasReqEvt *measReqEvt;
-RlcL2MeasCfmEvt *measCfmEvt;
-CmLteLcId *lChId;
-uint8_t *numLCh;
-#endif
{
uint8_t measType;
S16 ret;
}/* rlcUtlValidateL2Meas */
#endif
-#ifdef ANSI
-S16 rlcUtlValidateIpThL2Meas
-(
-RlcL2MeasReqEvt *measReqEvt,
-RlcL2MeasCfmEvt *measCfmEvt
-)
-#else
-S16 rlcUtlValidateIpThL2Meas(measReqEvt, measCfmEvt)
-RlcL2MeasReqEvt *measReqEvt;
-RlcL2MeasCfmEvt *measCfmEvt;
-#endif
+S16 rlcUtlValidateIpThL2Meas(RlcL2MeasReqEvt *measReqEvt,RlcL2MeasCfmEvt *measCfmEvt)
{
uint8_t measType;
uint8_t lsbNibble = 0;
*
* @return Void
*/
-#ifdef ANSI
-Void rlcUtlResetUlL2MeasInRlcRb
-(
-RlcCb *gCb,
-RlcL2MeasCb *measCb,
-uint8_t measType
-)
-#else
-Void rlcUtlResetUlL2MeasInRlcRb(measCb, measType)
-RlcCb *gCb;
-RlcL2MeasCb *measCb;
-uint8_t measType;
-#endif
+Void rlcUtlResetUlL2MeasInRlcRb(RlcCb *gCb,RlcL2MeasCb *measCb,uint8_t measType)
{
uint32_t rbIdx;
uint32_t ueIdx;
* @return S16
* -# ROK
*/
-#ifdef ANSI
-Void rlcUtlPlcMeasDatInL2Sts
-(
-RlcL2Cntr *measData,
-RlcL2MeasRbCb *rbL2Cb,
-uint8_t measType
-)
-#else
-Void rlcUtlPlcMeasDatInL2Sts(measData, rbL2Cb, measType)
-RlcL2Cntr *measData;
-RlcL2MeasRbCb *rbL2Cb;
-uint8_t measType;
-#endif
+Void rlcUtlPlcMeasDatInL2Sts(RlcL2Cntr *measData,RlcL2MeasRbCb *rbL2Cb,uint8_t measType)
{
/* We should check the number of measType in the request. This can be done
* by looking at each bit in the measType. Also store the measData in the
CM_LLIST_NEXT_NODE(recBufLstCp, node);
}
return NULLP;
-} /* rlcUtlStoreRecBuf */
+} /* rlcUtlGetRecBuf */
/**
*
* @brief Delete the UL buffer from the list
recBufLstCp = &recBufLst[hashKey];
cmLListDelFrm(recBufLstCp, &recBuf->lnk);
- RLC_FREE_WC(gCb, recBuf, sizeof(RlcAmRecBuf));
+ RLC_FREE(gCb, recBuf, sizeof(RlcAmRecBuf));
return;
} /* rlcUtlDelRecBuf */
+#ifdef NR_RLC_UL
+/**
+ *
+ * @brief Store the UL buffer in hashList
+ *
+ *
+ * @b Description
+ *
+ * Use the SN % binSize as key and store the received UL buffer
+ * @param[in] recBufLst List CP array
+ * @param[in] recBuf received buffer
+ * @param[in] sn sn of the received buffer
+ *
+ *
+ * @return Void
+ */
+void rlcUtlStoreUmRecBuf(CmLListCp *recBufLst, RlcUmRecBuf *recBuf, RlcSn sn)
+{
+ uint32_t hashKey;
+
+ hashKey = (sn % RLC_RCV_BUF_BIN_SIZE );
+ recBuf->lnk.node = (PTR)recBuf;
+ cmLListAdd2Tail(&(recBufLst[hashKey]), &recBuf->lnk);
+
+ return;
+} /* rlcUtlStoreUmRecBuf */
+/**
+ *
+ * @brief Retrieve the UL buffer from the list
+ *
+ *
+ * @Description
+ *
+ * Use the SN % binSize as key and retrieve the UL buffer
+ * @param[in] recBufLst List CP array
+ * @param[in] sn sn of the received buffer
+ *
+ *
+ * @return Void
+ */
+RlcUmRecBuf* rlcUtlGetUmRecBuf(CmLListCp *recBufLst, RlcSn sn)
+{
+ uint32_t hashKey;
+ CmLListCp *recBufLstCp;
+ RlcUmRecBuf *recBuf;
+ CmLList *node = NULLP;
+ hashKey = (sn % RLC_RCV_BUF_BIN_SIZE );
+
+ recBufLstCp = &recBufLst[hashKey];
+ CM_LLIST_FIRST_NODE(recBufLstCp, node);
+ while(node)
+ {
+ recBuf = (RlcUmRecBuf *) node->node;
+ if(recBuf->umHdr.sn == sn)
+ {
+ return recBuf;
+ }
+ CM_LLIST_NEXT_NODE(recBufLstCp, node);
+ }
+ return NULLP;
+} /* rlcUtlGetUmRecBuf */
+#endif
/********************************************************************30**