Desc: Source code for RLC Upper Interface Module
This file contains following functions
- --KwUiCkwBndReq
- --KwUiCkwUbndReq
+ --RlcUiCkwBndReq
+ --RlcUiCkwUbndReq
--RlcProcCfgReq
- --KwUiKwuBndReq
- --KwUiKwuUbndReq
- --KwUiKwuDatReq
- --KwUiKwuDiscSduReq
+ --RlcUiKwuBndReq
+ --RlcUiKwuUbndReq
+ --rlcProcDlData
+ --RlcUiKwuDiscSduReq
File: kw_uim.c
* @brief RLC Upper Interface Module
*/
-#define KW_MODULE KW_DBGMASK_INF
+#define RLC_MODULE RLC_DBGMASK_INF
\f
/* header (.h) include files */
* -# RFAILED
*
*/
-#ifdef ANSI
-PUBLIC S16 KwUiCkwBndReq
+S16 RlcUiCkwBndReq
(
Pst *pst,
SuId suId,
SpId spId
)
-#else
-PUBLIC S16 KwUiCkwBndReq (pst, suId, spId)
-Pst *pst;
-SuId suId;
-SpId spId;
-#endif
{
- KwCkwSapCb *ckwSap;
+ RlcCkwSapCb *ckwSap;
RlcCb *tRlcCb;
- TRC3(KwUiCkwBndReq);
-
#if (ERRCLASS & ERRCLS_INT_PAR)
if (pst->dstInst >= MAX_RLC_INSTANCES)
{
switch(ckwSap->state)
{
/* SAP is configured but not bound */
- case KW_SAP_CFG:
- case KW_SAP_UBND:
+ case RLC_SAP_CFG:
+ case RLC_SAP_UBND:
{
/* copy bind configuration parameters in SSAP sap */
ckwSap->suId = suId;
ckwSap->pst.dstInst = pst->srcInst;
/* Update the State */
- ckwSap->state = KW_SAP_BND;
+ ckwSap->state = RLC_SAP_BND;
- RLOG1(L_DEBUG, "KwUiCkwBndReq: state (%d)", ckwSap->state);
+ RLOG1(L_DEBUG, "RlcUiCkwBndReq: state (%d)", ckwSap->state);
break;
}
- case KW_SAP_BND:
+ case RLC_SAP_BND:
{
/* Sap is already bound check source, destination Entity and
* Proc Id */
ckwSap->pst.dstInst != pst->srcInst ||
ckwSap->suId != suId)
{
- KW_SEND_SAPID_ALARM(tRlcCb,
+ RLC_SEND_SAPID_ALARM(tRlcCb,
spId,
LKW_EVENT_CKW_BND_REQ,
LCM_CAUSE_INV_PAR_VAL);
RLOG0(L_ERROR, "CKW SAP already Bound");
- KwUiCkwBndCfm(&(ckwSap->pst), ckwSap->suId, CM_BND_NOK);
- return RFAILED;
+ RlcUiCkwBndCfm(&(ckwSap->pst), ckwSap->suId, CM_BND_NOK);
+ return (RFAILED);
}
break;
}
{
#if (ERRCLASS & ERRCLS_INT_PAR)
RLOG0(L_ERROR, "Invalid CKW SAP State in Bind Req");
- KW_SEND_SAPID_ALARM(tRlcCb,
+ RLC_SEND_SAPID_ALARM(tRlcCb,
spId,
LKW_EVENT_CKW_BND_REQ,
LCM_CAUSE_INV_STATE);
#endif /* ERRCLASS & ERRCLS_INT_PAR */
- KwUiCkwBndCfm(&(ckwSap->pst), ckwSap->suId, CM_BND_NOK);
- return RFAILED;
+ RlcUiCkwBndCfm(&(ckwSap->pst), ckwSap->suId, CM_BND_NOK);
+ return (RFAILED);
break;
}
}
- KwUiCkwBndCfm(&(ckwSap->pst), ckwSap->suId, CM_BND_OK);
- return ROK;
+ RlcUiCkwBndCfm(&(ckwSap->pst), ckwSap->suId, CM_BND_OK);
+ return (ROK);
}
\f
* -# ROK
* -# RFAILED
*/
-#ifdef ANSI
-PUBLIC S16 KwUiCkwUbndReq
+S16 RlcUiCkwUbndReq
(
Pst *pst,
SpId spId,
Reason reason
)
-#else
-PUBLIC S16 KwUiCkwUbndReq(pst, spId, reason)
-Pst *pst;
-SpId spId;
-Reason reason;
-#endif
{
RlcCb *tRlcCb;
- TRC3(KwUiCkwUbndReq)
-
#if (ERRCLASS & ERRCLS_INT_PAR)
if (pst->dstInst >= MAX_RLC_INSTANCES)
{
UNUSED(reason);
#if (ERRCLASS & ERRCLS_INT_PAR)
- KW_GET_AND_VALIDATE_CKWSAP(tRlcCb,
+ RLC_GET_AND_VALIDATE_CKWSAP(tRlcCb,
(&(tRlcCb->u.ulCb->ckwSap)),
EKW208,
- "KwUiCkwUbndReq");
+ "RlcUiCkwUbndReq");
#endif /* ERRCLASS & ERRCLS_INT_PAR */
/* disable upper sap (CKW) */
- tRlcCb->u.ulCb->ckwSap.state = KW_SAP_CFG;
+ tRlcCb->u.ulCb->ckwSap.state = RLC_SAP_CFG;
return ROK;
}
* -# ROK
* -# RFAILED
*/
-#ifdef ANSI
-PUBLIC S16 RlcProcCfgReq
+S16 RlcProcCfgReq
(
Pst *pst,
RlcCfgInfo *cfg
)
-#else
-PUBLIC S16 RlcProcCfgReq(pst, cfg)
-Pst *pst;
-RlcCfgInfo *cfg;
-#endif
{
RlcCb *tRlcCb;
RlcUlCfgTmpData *cfgTmpData;
- static U32 transCount;
-
+ static uint32_t transCount;
- TRC3(RlcProcCfgReq)
-
#if (ERRCLASS & ERRCLS_INT_PAR)
if (pst->dstInst >= MAX_RLC_INSTANCES)
{
cfgTmpData->cfgInfo = cfg;
- if (kwDbmAddUlTransaction(tRlcCb, cfgTmpData) != ROK)
+ tRlcCb->u.ulCb->rlcUlUdxEventType = pst->event;
+ if (rlcDbmAddUlTransaction(tRlcCb, cfgTmpData) != ROK)
{
RLOG0(L_ERROR, "Addition to UL transId Lst Failed");
RLC_PST_FREE(pst->region, pst->pool, cfg, sizeof(RlcCfgInfo));
}
rlcUlHdlCfgReq(tRlcCb, cfgTmpData, cfg);
- rlcUlUdxCfgReq(&(KW_GET_UDX_SAP(tRlcCb)->pst),KW_GET_UDX_SAP(tRlcCb)->spId,cfg);
+ rlcUlUdxCfgReq(&(RLC_GET_UDX_SAP(tRlcCb)->pst),RLC_GET_UDX_SAP(tRlcCb)->spId,cfg);
return ROK;
}
* -# ROK
* -# RFAILED
*/
-#ifdef ANSI
-PUBLIC S16 KwUiCkwUeIdChgReq
+S16 RlcUiCkwUeIdChgReq
(
Pst *pst,
SpId spId,
-U32 transId,
+uint32_t transId,
CkwUeInfo *ueInfo,
CkwUeInfo *newUeInfo
)
-#else
-PUBLIC S16 KwUiCkwUeIdChgReq(pst, spId, transId, ueInfo, newUeInfo)
-Pst *pst;
-SpId spId;
-U32 transId;
-CkwUeInfo *ueInfo;
-CkwUeInfo *newUeInfo;
-#endif
{
S16 ret = ROK;
RlcCb *tRlcCb;
RlcUlCfgTmpData *cfgTmpData = NULLP;
- TRC3(KwUiCkwUeIdChgReq)
-
do
{
#if (ERRCLASS & ERRCLS_INT_PAR)
tRlcCb = RLC_GET_RLCCB(pst->dstInst);
#ifndef ALIGN_64BIT
RLOG_ARG2(L_DEBUG,DBG_CELLID,newUeInfo->cellId,
- "KwUiCkwUeIdChgReq(pst, spId(%d), transId(%ld))",
+ "RlcUiCkwUeIdChgReq(pst, spId(%d), transId(%ld))",
spId,
transId);
#else
RLOG_ARG2(L_DEBUG,DBG_CELLID,newUeInfo->cellId,
- "KwUiCkwUeIdChgReq(pst, spId(%d), transId(%d))\n",
+ "RlcUiCkwUeIdChgReq(pst, spId(%d), transId(%d))\n",
spId,
transId);
#endif
cfgTmpData->ueInfo = ueInfo;
cfgTmpData->newUeInfo = newUeInfo;
- if (kwDbmAddUlTransaction(tRlcCb, cfgTmpData))
+ if (rlcDbmAddUlTransaction(tRlcCb, cfgTmpData))
{
RLOG0(L_ERROR, "Addition to UL transId Lst Failed");
ret = RFAILED;
"Validation Failure for UeId change");
}
- rlcUlUdxUeIdChgReq(&(KW_GET_UDX_SAP(tRlcCb)->pst),
- KW_GET_UDX_SAP(tRlcCb)->spId,
+ rlcUlUdxUeIdChgReq(&(RLC_GET_UDX_SAP(tRlcCb)->pst),
+ RLC_GET_UDX_SAP(tRlcCb)->spId,
transId,
ueInfo,
newUeInfo);
* -# ROK
* -# RFAILED
*/
-#ifdef ANSI
-PUBLIC Void rlcUlHdlCfgReq
+Void rlcUlHdlCfgReq
(
-RlcCb *gCb,
-RlcUlCfgTmpData *cfgTmpData,
-RlcCfgInfo *cfg
+RlcCb *gCb,
+RlcUlCfgTmpData *cfgTmpData,
+RlcCfgInfo *cfg
)
-#else
-PUBLIC Void rlcUlHdlCfgReq(gCb, cfgTmpData, cfg)
-RlcCb *gCb;
-RlcUlCfgTmpData *cfgTmpData;
-RlcCfgInfo *cfg;
-#endif
{
- U8 idx;
-
- TRC3(rlcUlHdlCfgReq)
+ uint8_t idx;
cfgTmpData->ueId = cfg->ueId;
cfgTmpData->cellId = cfg->cellId;
case CKW_CFG_DELETE:
{
- if(cfg->entCfg[idx].dir & KW_DIR_UL)
+ if(cfg->entCfg[idx].dir & RLC_DIR_UL)
{
/* Configuration is for UL , thus validating */
if(ROK != rlcCfgValidateUlRb(gCb,
cfgTmpData->cfgEntData[idx].entUlCfgCfm.status.status = CKW_CFG_CFM_NOK;
/*Validation is getting failed so no need to do configuration at DL.
*Set dir as UL, so that no configuration is done at DL */
- cfg->entCfg[idx].dir = KW_DIR_UL;
+ cfg->entCfg[idx].dir = RLC_DIR_UL;
}
}
- if(cfg->entCfg[idx].dir == KW_DIR_UL)
+ if(cfg->entCfg[idx].dir == RLC_DIR_UL)
{
/*If the configuration is for UL only then apply it */
if (cfgTmpData->cfgEntData[idx].entUlCfgCfm.status.status == CKW_CFG_CFM_OK)
}
case CKW_CFG_REESTABLISH:
{
- if(cfg->entCfg[idx].dir & KW_DIR_UL)
+ if(cfg->entCfg[idx].dir & RLC_DIR_UL)
{
if(ROK != rlcCfgValidateReEstRb(gCb,
cfg->ueId,
cfg->cellId,cfg->entCfg[idx].rbId);
cfgTmpData->cfgEntData[idx].entUlCfgCfm.status.status = CKW_CFG_CFM_NOK;
/* Setting dir as UL, so that no configuration is done at DL */
- cfg->entCfg[idx].dir = KW_DIR_UL;
+ cfg->entCfg[idx].dir = RLC_DIR_UL;
break;
}
}
- if(cfg->entCfg[idx].dir == KW_DIR_UL)
+ if(cfg->entCfg[idx].dir == RLC_DIR_UL)
{
/*If the configuration is for UL only then apply it */
if (cfgTmpData->cfgEntData[idx].entUlCfgCfm.status.status == CKW_CFG_CFM_OK)
cfgTmpData->ueId);
cfgTmpData->cfgEntData[idx].entUlCfgCfm.status.status = CKW_CFG_CFM_NOK;
/* Setting dir as UL, so that no configuration is done at DL */
- cfg->entCfg[idx].dir = KW_DIR_UL;
+ cfg->entCfg[idx].dir = RLC_DIR_UL;
}
break;
}
"Del UL Cell Validation Failure");
cfgTmpData->cfgEntData[idx].entUlCfgCfm.status.status = CKW_CFG_CFM_NOK;
/* Setting dir as UL, so that no configuration is done at DL */
- cfg->entCfg[idx].dir = KW_DIR_UL;
+ cfg->entCfg[idx].dir = RLC_DIR_UL;
}
break;
}
}/* switch end */
}/* for end */
- RETVOID;
+ return;
}
\f
* -# RFAILED
*
*/
-#ifdef ANSI
-PUBLIC S16 KwUiKwuBndReq
+S16 RlcUiKwuBndReq
(
Pst *pst,
SuId suId,
SpId spId
)
-#else
-PUBLIC S16 KwUiKwuBndReq (pst, suId, spId)
-Pst *pst;
-SuId suId;
-SpId spId;
-#endif
{
- KwKwuSapCb *kwuSap; /* SAP Config Block */
+ RlcKwuSapCb *rlckwuSap; /* SAP Config Block */
RlcCb *tRlcCb;
- TRC3(KwUiKwuBndReq)
-
#if (ERRCLASS & ERRCLS_INT_PAR)
if (pst->dstInst >= MAX_RLC_INSTANCES)
{
}
#endif
tRlcCb = RLC_GET_RLCCB(pst->dstInst);
- RLOG2(L_DEBUG, "KwUiKwuBndReq(pst, spId(%d), suId(%d))", spId, suId);
+ RLOG2(L_DEBUG, "RlcUiKwuBndReq(pst, spId(%d), suId(%d))", spId, suId);
/* Validation of input parameters */
#if (ERRCLASS & ERRCLS_INT_PAR)
if(!((spId < (S16) tRlcCb->genCfg.maxKwuSaps) && (spId >=0)))
{
RLOG0(L_ERROR,"Invalid spId");
- KW_SEND_SAPID_ALARM(tRlcCb,spId, LKW_EVENT_KWU_BND_REQ, LCM_CAUSE_INV_SAP);
+ RLC_SEND_SAPID_ALARM(tRlcCb,spId, LKW_EVENT_KWU_BND_REQ, LCM_CAUSE_INV_SAP);
return RFAILED;
}
#endif
/* Get Sap control block */
- kwuSap = (tRlcCb->genCfg.rlcMode == LKW_RLC_MODE_DL) ?
- (tRlcCb->u.dlCb->kwuDlSap + spId):
- (tRlcCb->u.ulCb->kwuUlSap + spId);
+ rlckwuSap = (tRlcCb->genCfg.rlcMode == LKW_RLC_MODE_DL) ?
+ (tRlcCb->u.dlCb->rlcKwuDlSap + spId):
+ (tRlcCb->u.ulCb->rlcKwuUlSap + spId);
/* Take action based on the current state of the SAP */
- switch(kwuSap->state)
+ switch(rlckwuSap->state)
{
/* SAP is configured but not bound */
- case KW_SAP_CFG:
- case KW_SAP_UBND:
+ case RLC_SAP_CFG:
+ case RLC_SAP_UBND:
{
/* copy bind configuration parameters in sap */
- kwuSap->suId = suId;
- kwuSap->pst.dstProcId = pst->srcProcId;
- kwuSap->pst.dstEnt = pst->srcEnt;
- kwuSap->pst.dstInst = pst->srcInst;
+ rlckwuSap->suId = suId;
+ rlckwuSap->pst.dstProcId = pst->srcProcId;
+ rlckwuSap->pst.dstEnt = pst->srcEnt;
+ rlckwuSap->pst.dstInst = pst->srcInst;
/* Update the State */
- kwuSap->state = KW_SAP_BND;
+ rlckwuSap->state = RLC_SAP_BND;
- RLOG1(L_DEBUG, "KwUiKwuBndReq: state (%d)", kwuSap->state);
+ RLOG1(L_DEBUG, "RlcUiKwuBndReq: state (%d)", rlckwuSap->state);
break;
}
- case KW_SAP_BND:
+ case RLC_SAP_BND:
{
/* Sap is already bound check source, destination Entity and Proc Id */
- if (kwuSap->pst.dstProcId != pst->srcProcId ||
- kwuSap->pst.dstEnt != pst->srcEnt ||
- kwuSap->pst.dstInst != pst->srcInst ||
- kwuSap->suId != suId)
+ if (rlckwuSap->pst.dstProcId != pst->srcProcId ||
+ rlckwuSap->pst.dstEnt != pst->srcEnt ||
+ rlckwuSap->pst.dstInst != pst->srcInst ||
+ rlckwuSap->suId != suId)
{
- KW_SEND_SAPID_ALARM(tRlcCb,
+ RLC_SEND_SAPID_ALARM(tRlcCb,
spId,
LKW_EVENT_KWU_BND_REQ,
LCM_CAUSE_INV_PAR_VAL);
RLOG1(L_ERROR,"RLC Mode [%d] : KWU SAP already Bound",
tRlcCb->genCfg.rlcMode);
- KwUiKwuBndCfm(&(kwuSap->pst), kwuSap->suId, CM_BND_NOK);
- return RFAILED;
+ RlcUiKwuBndCfm(&(rlckwuSap->pst), rlckwuSap->suId, CM_BND_NOK);
+ return (RFAILED);
}
break;
}
#if (ERRCLASS & ERRCLS_INT_PAR)
RLOG1(L_ERROR,"RLC Mode [%d]:Invalid KWU SAP State in Bind Req",
tRlcCb->genCfg.rlcMode);
- KW_SEND_SAPID_ALARM(tRlcCb,
+ RLC_SEND_SAPID_ALARM(tRlcCb,
spId,
LKW_EVENT_KWU_BND_REQ,
LCM_CAUSE_INV_STATE);
#endif /* ERRCLASS & ERRCLS_INT_PAR */
- KwUiKwuBndCfm(&(kwuSap->pst), kwuSap->suId, CM_BND_NOK);
- return RFAILED;
+ RlcUiKwuBndCfm(&(rlckwuSap->pst), rlckwuSap->suId, CM_BND_NOK);
+ return (RFAILED);
}
}
- KwUiKwuBndCfm(&(kwuSap->pst), kwuSap->suId, CM_BND_OK);
- return ROK;
+ RlcUiKwuBndCfm(&(rlckwuSap->pst), rlckwuSap->suId, CM_BND_OK);
+ return (ROK);
}
\f
* -# ROK
* -# RFAILED
*/
-#ifdef ANSI
-PUBLIC S16 KwUiKwuUbndReq
+S16 RlcUiKwuUbndReq
(
Pst *pst,
SpId spId,
Reason reason
)
-#else
-PUBLIC S16 KwUiKwuUbndReq(pst, spId, reason)
-Pst *pst;
-SpId spId;
-Reason reason;
-#endif
{
- KwKwuSapCb *kwuSap; /* KWU SAP control block */
+ RlcKwuSapCb *rlckwuSap; /* KWU SAP control block */
RlcCb *tRlcCb;
- TRC3(KwUiKwuUbndReq)
-
#if (ERRCLASS & ERRCLS_INT_PAR)
if ((pst->dstInst >= MAX_RLC_INSTANCES) ||
(spId >= (S16) rlcCb[pst->dstInst]->genCfg.maxKwuSaps) ||
reason);
/* Get Sap control block */
- kwuSap = (tRlcCb->genCfg.rlcMode == LKW_RLC_MODE_DL) ?
- (tRlcCb->u.dlCb->kwuDlSap + spId):
- (tRlcCb->u.ulCb->kwuUlSap + spId);
+ rlckwuSap = (tRlcCb->genCfg.rlcMode == LKW_RLC_MODE_DL) ?
+ (tRlcCb->u.dlCb->rlcKwuDlSap + spId):
+ (tRlcCb->u.ulCb->rlcKwuUlSap + spId);
- kwuSap->state = KW_SAP_CFG;
+ rlckwuSap->state = RLC_SAP_CFG;
return ROK;
}
* @param[in] datreq Data Request Information
* @param[in] mBuf Data Buffer (SDU)
*
- * @return S16
+ * @return uint8_t
* -# ROK
* -# RFAILED
*/
-#ifdef ANSI
-PUBLIC S16 KwUiKwuDatReq
-(
-Pst *pst,
-KwuDatReqInfo *datReq,
-Buffer *mBuf
-)
-#else
-PUBLIC S16 KwUiKwuDatReq(pst, datReq, mBuf)
-Pst *pst;
-KwuDatReqInfo *datReq;
-Buffer *mBuf;
-#endif
+uint8_t rlcProcDlData(Pst *pst, KwuDatReqInfo *datReq, Buffer *mBuf)
{
- S16 ret = ROK; /* Return Value */
+ uint8_t ret = ROK; /* Return Value */
RlcDlRbCb *rbCb; /* RB Control Block */
RlcCb *tRlcCb;
- TRC3(KwUiKwuDatReq)
-
DU_LOG("\nRLC : Received DL Data");
#if (ERRCLASS & ERRCLS_INT_PAR)
if(pst->dstInst >= MAX_RLC_INSTANCES)
{
- SPutMsg(mBuf);
+ ODU_PUT_MSG_BUF(mBuf);
return RFAILED;
}
#endif
tRlcCb = RLC_GET_RLCCB(pst->dstInst);
/* Fetch the RbCb */
- kwDbmFetchDlRbCbByRbId(tRlcCb, &datReq->rlcId, &rbCb);
+ rlcDbmFetchDlRbCbByRbId(tRlcCb, &datReq->rlcId, &rbCb);
if(!rbCb)
{
- RLOG_ARG2(L_WARNING, DBG_UEID,datReq->rlcId.ueId, "CellId[%u]:DL RbId [%d] not found",
+ DU_LOG("\nRLC : CellId[%u]:DL RbId [%d] not found",
datReq->rlcId.cellId,datReq->rlcId.rbId);
- RLC_FREE_BUF(mBuf);
+ ODU_PUT_MSG_BUF(mBuf);
return RFAILED;
}
/* Dispatch according to mode of the rbCb */
switch (rbCb->mode)
{
- case CM_LTE_MODE_TM:
+ case RLC_MODE_TM:
{
/* Verify the user */
if (pst->srcEnt != ENTNH)
/* kw002.201 Freeing from proper region */
RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, datReq,
sizeof(KwuDatReqInfo));
- RLC_FREE_BUF(mBuf);
+ ODU_PUT_MSG_BUF(mBuf);
return RFAILED;
}
- kwTmmQSdu(tRlcCb,rbCb, datReq, mBuf);
+ rlcTmmQSdu(tRlcCb,rbCb, datReq, mBuf);
break;
}
- case CM_LTE_MODE_UM:
+ case RLC_MODE_UM:
{
- kwUmmQSdu(tRlcCb,rbCb, datReq, mBuf);
+ rlcUmmQSdu(tRlcCb,rbCb, datReq, mBuf);
break;
}
- case CM_LTE_MODE_AM:
+ case RLC_MODE_AM:
{
- kwAmmQSdu(tRlcCb,rbCb, mBuf, datReq);
+ rlcAmmQSdu(tRlcCb,rbCb, mBuf, datReq);
break;
}
default:
{
- RLOG0(L_ERROR, "Invalid RB Mode");
+ DU_LOG("\nRLC : Invalid RB Mode");
break;
}
}
- return (ret);
+ return ret;
}
\f
* -# ROK
* -# RFAILED
*/
-#ifdef ANSI
-PUBLIC S16 KwUiKwuDiscSduReq
+S16 RlcUiKwuDiscSduReq
(
Pst *pst,
SpId spId,
KwuDiscSduInfo *discSdu
)
-#else
-PUBLIC S16 KwUiKwuDiscSduReq(pst, spId, discSdu)
-Pst *pst;
-SpId spId;
-KwuDiscSduInfo *discSdu;
-#endif
{
RLC_SHRABL_STATIC_BUF_FREE(pst->region, pst->pool, discSdu, sizeof(KwuDiscSduInfo));
return ROK;