X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrrlc%2Fkw.h;h=6bf6782f212b7662980a9ac04add99bacd244f44;hb=2dc9d6735bc5ff973a761b7d6b3f71f97e95d60e;hp=0dcf01996d17ab88d87b48668e7ba7f932a58a9f;hpb=5831bf6b3454aa200a92cd3e84209650734e4863;p=o-du%2Fl2.git diff --git a/src/5gnrrlc/kw.h b/src/5gnrrlc/kw.h index 0dcf01996..6bf6782f2 100755 --- a/src/5gnrrlc/kw.h +++ b/src/5gnrrlc/kw.h @@ -18,8 +18,8 @@ /********************************************************************20** - Name: LTE RLC file - + Name: NR RLC file + Type: C include file Desc: This file contain the hash definations for RLC @@ -33,11 +33,8 @@ #ifndef __KWH__ #define __KWH__ -#include "rl_interface.h" -#include "rl_common.h" #include "du_log.h" -#define KWLAYERNAME "LTE RLC" /* Layer Name */ #define EKWxxx 1 #define EMG099 1 @@ -46,22 +43,22 @@ #define EMG104 4 /* RLC-SPLIT Activity */ -#define KW_ONE 1 -#define KW_BIT0 0x01 -#define KW_BIT1 0x02 -#define KW_BIT2 0x04 -#define KW_BIT3 0x08 +#define RLC_ONE 1 +#define RLC_BIT0 0x01 +#define RLC_BIT1 0x02 +#define RLC_BIT2 0x04 +#define RLC_BIT3 0x08 -#define KW_2K_BYTE 2048 +#define RLC_2K_BYTE 2048 /* RLC RB flag bits */ -#define KW_RB_REESTABLISH_DL KW_BIT0 -#define KW_RB_REESTABLISH_UL KW_BIT1 -#define KW_RB_DELETE_DL KW_BIT2 -#define KW_RB_DELETE_UL KW_BIT3 +#define RLC_RB_REESTABLISH_DL RLC_BIT0 +#define RLC_RB_REESTABLISH_UL RLC_BIT1 +#define RLC_RB_DELETE_DL RLC_BIT2 +#define RLC_RB_DELETE_UL RLC_BIT3 -#define KW_MOD_1024 0x3FF /* used for MOD 1024 */ +#define RLC_MOD_1024 0x3FF /* used for MOD 1024 */ @@ -69,33 +66,33 @@ * SAP States ************************************************************************/ -#define KW_SAP_NOT_CFG 0 /*!< SAP Not Configured */ -#define KW_SAP_CFG 1 /*!< SAP Configured but not not bound */ -#define KW_SAP_BND 2 /*!< SAP Bound */ -#define KW_SAP_BINDING 3 /*!< SAP Bind initiated */ -#define KW_SAP_UBND 4 /*!< SAP Unbind */ +#define RLC_SAP_NOT_CFG 0 /*!< SAP Not Configured */ +#define RLC_SAP_CFG 1 /*!< SAP Configured but not not bound */ +#define RLC_SAP_BND 2 /*!< SAP Bound */ +#define RLC_SAP_BINDING 3 /*!< SAP Bind initiated */ +#define RLC_SAP_UBND 4 /*!< SAP Unbind */ -#define KW_MAX_SAP_BND_RETRY 3 /*!< Maximum SAP Bin Retries */ +#define RLC_MAX_SAP_BND_RETRY 3 /*!< Maximum SAP Bin Retries */ -#define KW_MAX_UE 0xffffffff /*!< Maximum number of UEs. */ +#define RLC_MAX_UE 0xffffffff /*!< Maximum number of UEs. */ /* Maximum number of Saps */ -#define KW_MAX_UDXSAPS 1 /*!< Maximum number of UDX Saps */ -#define KW_MAX_KWUSAPS 2 /*!< Maximum number of KWU Saps. */ -#define KW_MAX_CKWSAPS 1 /*!< Maximum number of CKW Saps. */ +#define RLC_MAX_UDXSAPS 1 /*!< Maximum number of UDX Saps */ +#define RLC_MAX_KWUSAPS 2 /*!< Maximum number of KWU Saps. */ +#define RLC_MAX_CKWSAPS 1 /*!< Maximum number of CKW Saps. */ /*MCELL changes*/ -#define KW_MAX_RGUSAPS 4//5 /*!< Maximum number of RGU Saps. */ +#define RLC_MAX_RGUSAPS 4//5 /*!< Maximum number of RGU Saps. */ -#define KW_MAX_RGUSAP_TMR 1 /*!< Maximum number of RGU SAP Timers. */ +#define RLC_MAX_RGUSAP_TMR 1 /*!< Maximum number of RGU SAP Timers. */ -#define KW_UI_RRC 0 /*!< Upper interface RRC sap Id. */ -#define KW_UI_PDCP 1 /*!< Upper interface PDCP sap Id. */ +#define RLC_UI_RRC 0 /*!< Upper interface RRC sap Id. */ +#define RLC_UI_PDCP 1 /*!< Upper interface PDCP sap Id. */ #ifdef LTE_L2_MEAS /* TODO. This works for FDD only. For TDD the array dimension * should be changed according to the number of Harq Procs */ -#define KW_MAX_TB_PER_UE 64 /*!< Maximum number of tbCb for UE */ -#define KW_INVALID_TBID KW_MAX_TB_PER_UE +#define RLC_MAX_TB_PER_UE 64 /*!< Maximum number of tbCb for UE */ +#define RLC_INVALID_TBID RLC_MAX_TB_PER_UE #endif /******************************************************************************* * Memory related Defines @@ -106,14 +103,14 @@ { \ SGetSBuf(_cb->init.region, _cb->init.pool, (Data **)&_buf, \ (Size) _size); \ - cmMemset((U8 *)(_buf), 0, _size); \ + memset((_buf), 0, _size); \ } -#define KW_RMV_SDU(_cb,_sduQ,_sdu) \ +#define RLC_RMV_SDU(_cb,_sduQ,_sdu) \ { \ SPutMsg(_sdu->mBuf); \ cmLListDelFrm(_sduQ,&_sdu->lstEnt); \ - RLC_FREE_WC(_cb,_sdu, sizeof(KwSdu)); \ + RLC_FREE(_cb,_sdu, sizeof(RlcSdu)); \ } #define RLC_FREE(_cb,_buf, _size) \ @@ -123,12 +120,6 @@ _buf = NULLP; \ } -#define RLC_FREE_BUF(_buf) \ -{ \ - SPutMsg(_buf); \ - _buf = NULLP; \ -} - #else #define RLC_FREE_SHRABL_BUF(_region, _pool,_buf, _size) \ @@ -159,7 +150,7 @@ if (SGetStaticBuffer(_region, _pool, (Data **)&_buf, \ (Size) _size, 0) == ROK) \ { \ - cmMemset((U8 *)(_buf), 0, _size); \ + memset((_buf), 0, _size); \ } \ else \ { \ @@ -172,7 +163,7 @@ if (SGetSBuf(_cb->init.region, _cb->init.pool, (Data **)&_buf, \ (Size) _size) == ROK) \ { \ - cmMemset((U8 *)(_buf), 0, _size); \ + memset((_buf), 0, _size); \ } \ else \ { \ @@ -183,14 +174,14 @@ #define RLC_ALLOC_WC(_cb,_buf, _size) \ SGetSBuf(_cb->init.region, _cb->init.pool, (Data **)&_buf, (Size) _size) -#define KW_RMV_SDU(_cb,_sduQ,_sdu) \ +#define RLC_RMV_SDU(_cb,_sduQ,_sdu) \ { \ if(_sdu->mBuf) \ { \ SPutMsg(_sdu->mBuf); \ } \ cmLListDelFrm(_sduQ,&_sdu->lstEnt); \ - RLC_FREE(_cb,_sdu, sizeof(KwSdu)); \ + RLC_FREE(_cb,_sdu, sizeof(RlcSdu)); \ } #define RLC_FREE(_cb,_buf, _size) \ @@ -203,26 +194,8 @@ } \ } -#define RLC_FREE_BUF(_buf) \ -{ \ - if (_buf != NULLP) \ - { \ - SPutMsg(_buf); \ - } \ - _buf = NULLP; \ -} #endif - - - -#define RLC_FREE_WC(_cb,_buf, _size) \ -{ \ - (Void) SPutSBuf(_cb->init.region, _cb->init.pool, \ - (Data *) _buf, (Size) _size); \ - _buf = NULLP; /*assigning NULLP after free*/ \ -} - /* kw002.201 Freeing from region of pst */ #define RLC_PST_FREE(_region, _pool, _buf, _size) \ { \ @@ -290,45 +263,43 @@ } #endif -#define RLC_FREE_BUF_WC(_buf) SPutMsg((_buf)); - -#define KW_MEM_CPY(_dst, _src, _size) cmMemcpy((U8*)_dst, (U8 *)_src, _size); +#define RLC_MEM_CPY(_dst, _src, _size) memcpy(_dst, _src, _size); -#define KW_MEM_ZERO(_buf, _size) cmMemset((U8 *)(_buf), 0, _size); +#define RLC_MEM_ZERO(_buf, _size) memset((_buf), 0, _size); -#define KW_GET_MEM_REGION(_cb) (_cb->init.region) +#define RLC_GET_MEM_REGION(_cb) (_cb->init.region) -#define KW_GET_MEM_POOL(_cb) (_cb->init.pool) +#define RLC_GET_MEM_POOL(_cb) (_cb->init.pool) -#define KW_GET_MEM_POOL_ADDRESS(_cb) (&_cb->init.pool) +#define RLC_GET_MEM_POOL_ADDRESS(_cb) (&_cb->init.pool) /* Memset to value */ -#define RLC_MEM_SET(_arg, _val, _size) cmMemset((U8 *)_arg, (U8)_val, _size); +#define RLC_MEM_SET(_arg, _val, _size) memset(_arg, _val, _size); /* Alarms */ /* Send an alarm for sapId events */ /* kw005.201 added support for L2 Measurement */ #ifdef LTE_L2_MEAS -#define KW_GETSDUIDX(_sduIdx) \ +#define RLC_GETSDUIDX(_sduIdx) \ {\ - _sduIdx = (((_sduIdx)+1) % KW_L2MEAS_MAX_OUTSTNGSDU);\ + _sduIdx = (((_sduIdx)+1) % RLC_L2MEAS_MAX_OUTSTNGSDU);\ } -#define KW_SEND_SAPID_ALARM(_cb,_sapId, _evnt, _cause) \ +#define RLC_SEND_SAPID_ALARM(_cb,_sapId, _evnt, _cause) \ { \ - kwLmmSendAlarm(_cb,LCM_CATEGORY_INTERFACE, _evnt, _cause, _sapId, 0, 0); \ + rlcLmmSendAlarm(_cb,LCM_CATEGORY_INTERFACE, _evnt, _cause, _sapId, 0, 0); \ } -#define KW_SEND_UEID_ALARM(_cb,_ueId, _qci, _evnt, _cause) \ +#define RLC_SEND_UEID_ALARM(_cb,_ueId, _qci, _evnt, _cause) \ { \ - kwLmmSendAlarm(_cb,LCM_CATEGORY_INTERFACE, _evnt, _cause, 0, _ueId, _qci); \ + rlcLmmSendAlarm(_cb,LCM_CATEGORY_INTERFACE, _evnt, _cause, 0, _ueId, _qci); \ } #else /* LTE_L2_MEAS */ -#define KW_SEND_SAPID_ALARM(_cb,_sapId, _evnt, _cause) \ +#define RLC_SEND_SAPID_ALARM(_cb,_sapId, _evnt, _cause) \ { \ - kwLmmSendAlarm(_cb,LCM_CATEGORY_INTERFACE, _evnt, _cause, _sapId, 0); \ + rlcLmmSendAlarm(_cb,LCM_CATEGORY_INTERFACE, _evnt, _cause, _sapId, 0); \ } -#define KW_SEND_UEID_ALARM(_cb,_ueId, _evnt, _cause) \ +#define RLC_SEND_UEID_ALARM(_cb,_ueId, _evnt, _cause) \ { \ - kwLmmSendAlarm(_cb,LCM_CATEGORY_INTERFACE, _evnt, _cause, 0, _ueId); \ + rlcLmmSendAlarm(_cb,LCM_CATEGORY_INTERFACE, _evnt, _cause, 0, _ueId); \ } #endif /* LTE_L2_MEAS */ @@ -337,32 +308,37 @@ ******************************************************************************/ /* RLC Configuration parameters */ -#define KW_MAX_UL_LI (2 * KW_MAX_LI) -/*macro KW_MAX_DL_LI is moved to kw_env.h file */ -#define KW_MAX_DAT KW_MAXIMUM_DAT -/*macro KW_MAX_PDU is moved to kw_env.h file */ -#define KW_MAX_RB_PER_CELL 10 -#define KW_MAX_SRB_PER_UE 3 -#define KW_MAX_DRB_PER_UE 32 -#define KW_MAX_LCH_PER_UE 12 -#define KW_MAX_LCH_PER_CELL 6 -#define KW_MAX_NUM_RB 24 -#define KW_MAX_UE 0xffffffff -#define KW_UE_LIST_BUCKET_SIZE 128 -#define KW_CELL_LIST_BUCKET_SIZE 10 -#define KW_TRANS_ID_LST_BKT_SIZE 10 -#define KW_MAX_RB 32 +#define RLC_MAX_UL_LI (2 * RLC_MAX_LI) +/*macro RLC_MAX_DL_LI is moved to kw_env.h file */ +#define RLC_MAX_DAT RLC_MAXIMUM_DAT +/*macro RLC_MAX_PDU is moved to kw_env.h file */ +#define RLC_MAX_RB_PER_CELL 10 +#define RLC_MAX_SRB_PER_UE 3 +#define RLC_MAX_DRB_PER_UE 32 +#define RLC_MAX_LCH_PER_UE 12 +#define RLC_MAX_LCH_PER_CELL 6 +#define RLC_MAX_NUM_RB 24 +#define RLC_MAX_UE 0xffffffff +#define RLC_UE_LIST_BUCKET_SIZE 128 +#define RLC_CELL_LIST_BUCKET_SIZE 10 +#define RLC_TRANS_ID_LST_BKT_SIZE 10 +#define RLC_MAX_RB 32 + +/* RLC Mode defines */ +#define RLC_MODE_TM 1 +#define RLC_MODE_UM 2 +#define RLC_MODE_AM 3 /* Direction defines */ -#define KW_DIR_UL 1 /*!< Unlink direction */ -#define KW_DIR_DL 2 /*!< Downlink direction */ -#define KW_DIR_BOTH 3 /*!< Both Downlink and Unlink */ +#define RLC_DIR_UL 1 /*!< Unlink direction */ +#define RLC_DIR_DL 2 /*!< Downlink direction */ +#define RLC_DIR_BOTH 3 /*!< Both Downlink and Unlink */ -#define KW_DEF_SEQ_NUM 0 /**< Sequence number to pick in case of duplicate +#define RLC_DEF_SEQ_NUM 0 /**< Sequence number to pick in case of duplicate entries in hash list searches*/ /** - * @def KW_MIN + * @def RLC_MIN * * Macro to find the miniumum of two numbers * @@ -370,7 +346,7 @@ * @param[in] y Second number * */ -#define KW_MIN(x,y) (x) < (y) ? (x) : (y) +#define RLC_MIN(x,y) (x) < (y) ? (x) : (y) /** * @def RLC_GET_RLCCB @@ -382,25 +358,25 @@ */ #define RLC_GET_RLCCB(_inst) rlcCb[_inst] -#define KW_ADD_SDU 1 /*!< Add SDU. */ -#define KW_DEL_SDU 2 /*!< Delete SDU. */ +#define RLC_ADD_SDU 1 /*!< Add SDU. */ +#define RLC_DEL_SDU 2 /*!< Delete SDU. */ -#define KW_CFM_NOK 0 /*!< Do not send DatCfm */ -#define KW_CFM_OK 1 /*!< Send DatCfm */ +#define RLC_CFM_NOK 0 /*!< Do not send DatCfm */ +#define RLC_CFM_OK 1 /*!< Send DatCfm */ /* Set the unsolictated Status flag */ -#define KW_SET_USTA_FLAG(_rlcCb, _value) \ +#define RLC_SET_USTA_FLAG(_rlcCb, _value) \ { \ _rlcCb->init.usta = _value; \ } /* Macros to get the init parameters */ -#define KW_GET_DBG_MASK(_rlcCb) (_rlcCb->init.dbgMask) -#define KW_GET_LMPST_MEM_POOL(_rlcCb) (_rlcCb->init.lmPst.pool) -#define KW_GET_LMPST_MEM_REGION(_rlcCb) (_rlcCb->init.lmPst.region) +#define RLC_GET_DBG_MASK(_rlcCb) (_rlcCb->init.dbgMask) +#define RLC_GET_LMPST_MEM_POOL(_rlcCb) (_rlcCb->init.lmPst.pool) +#define RLC_GET_LMPST_MEM_REGION(_rlcCb) (_rlcCb->init.lmPst.region) /* Macros for configuration module */ -#define KW_CFG_FILL_CFG_CFM(_entCfm, _rbId, _rbType, _status, _reason) \ +#define RLC_CFG_FILL_CFG_CFM(_entCfm, _rbId, _rbType, _status, _reason) \ { \ _entCfm->rbId = _rbId; \ _entCfm->rbType = _rbType; \ @@ -409,7 +385,7 @@ } /** - * @def KW_VALIDATE_UE_RBID + * @def RLC_VALIDATE_UE_RBID * * This macro validates whether the _rbId passed is valid or not. It checks * if the _rbId is within the maximum value depending on the _rbType. @@ -419,40 +395,40 @@ * @param[in] _rbId RB Id of the RB to be validated * */ -#define KW_VALIDATE_UE_RBID(_rbType, _rbId) \ - ((_rbType == CM_LTE_SRB && _rbId < KW_MAX_SRB_PER_UE) || \ - (_rbType == CM_LTE_DRB && _rbId < KW_MAX_DRB_PER_UE)) +#define RLC_VALIDATE_UE_RBID(_rbType, _rbId) \ + ((_rbType == CM_LTE_SRB && _rbId < RLC_MAX_SRB_PER_UE) || \ + (_rbType == CM_LTE_DRB && _rbId < RLC_MAX_DRB_PER_UE)) /******************************************************************************* * UIM Defines ******************************************************************************/ #if (ERRCLASS & ERRCLS_INT_PAR) -#define KW_VALDATE_SAP(_cb,_chkSpId, _sap, _ret) \ +#define RLC_VALDATE_SAP(_cb,_chkSpId, _sap, _ret) \ { \ if (_chkSpId != _sap->spId) \ { \ - KWLOGERROR(_cb,ERRCLS_DEBUG, EKWxxx, (ErrVal) RFAILED, \ + RLCLOGERROR(_cb,ERRCLS_DEBUG, EKWxxx, (ErrVal) RFAILED, \ "Sap Id Validation Failed."); \ _ret = RFAILED; \ } \ /* SAP state validation */ \ - if(_sap->state != KW_SAP_BND) \ + if(_sap->state != RLC_SAP_BND) \ { \ - KWLOGERROR(_cb,ERRCLS_INT_PAR, EKWXXX, (ErrVal) RFAILED, \ + RLCLOGERROR(_cb,ERRCLS_INT_PAR, EKWXXX, (ErrVal) RFAILED, \ "Sap State Invalid."); \ - KW_SEND_SAPID_ALARM(_cb,0, LCM_EVENT_UI_INV_EVT, LCM_CAUSE_INV_STATE); \ + RLC_SEND_SAPID_ALARM(_cb,0, LCM_EVENT_UI_INV_EVT, LCM_CAUSE_INV_STATE); \ _ret = RFAILED; \ } \ } #else /* ERRCLASS & ERRCLS_INT_PAR */ -#define KW_VALDATE_SAP(_cb,_chkSpId, _sap, _ret) \ +#define RLC_VALDATE_SAP(_cb,_chkSpId, _sap, _ret) \ { \ /* SAP state validation */ \ - if(_sap->state != KW_SAP_BND) \ + if(_sap->state != RLC_SAP_BND) \ { \ - KWLOGERROR(_cb,ERRCLS_INT_PAR, EKWXXX, (ErrVal) RFAILED, \ + RLCLOGERROR(_cb,ERRCLS_INT_PAR, EKWXXX, (ErrVal) RFAILED, \ "Sap State Invalid."); \ - KW_SEND_SAPID_ALARM(_cb,0, LCM_EVENT_UI_INV_EVT, LCM_CAUSE_INV_STATE); \ + RLC_SEND_SAPID_ALARM(_cb,0, LCM_EVENT_UI_INV_EVT, LCM_CAUSE_INV_STATE); \ _ret = RFAILED; \ } \ } @@ -461,24 +437,28 @@ /******************************************************************************* * Timer Defines ******************************************************************************/ -#define KW_TMR_LEN 10 -#define KW_MAX_UM_TMR 1 -#define KW_MAX_AM_TMR 3 -#define KW_EVT_UMUL_REORD_TMR 1 -#define KW_EVT_AMUL_REORD_TMR 2 -#define KW_EVT_AMUL_STA_PROH_TMR 3 -#define KW_EVT_AMDL_POLL_RETX_TMR 4 -#define KW_EVT_WAIT_BNDCFM 5 +#define RLC_TMR_LEN 10 +#define RLC_MAX_UM_TMR 1 +#define RLC_MAX_AM_TMR 3 +#define RLC_MAX_THPT_TMR 1 + +/* Timer events */ +#define EVENT_RLC_UMUL_REASSEMBLE_TMR 1 +#define EVENT_RLC_AMUL_REASSEMBLE_TMR 2 +#define EVENT_RLC_AMUL_STA_PROH_TMR 3 +#define EVENT_RLC_AMDL_POLL_RETX_TMR 4 +#define EVENT_RLC_WAIT_BNDCFM 5 /* kw005.201 added support for L2 Measurement */ #ifdef LTE_L2_MEAS -#define KW_EVT_L2_TMR 6 +#define EVENT_RLC_L2_TMR 6 #endif /* LTE_L2_MEAS */ +#define EVENT_RLC_THROUGHPUT_TMR 7 /******************************************************************************* * DBM Defines ******************************************************************************/ /** - * @def KW_DBM_GET_RBCB_FROM_UECB + * @def RLC_DBM_GET_RBCB_FROM_UECB * * This macro makes _rbCb point to the RB in _ueCb based on the passed * _rbId and _rbType. _rbCb can point to NULLP @@ -489,11 +469,11 @@ * @param[out] _rbCb Pointer to the found RbCb * */ -#define KW_DBM_GET_RBCB_FROM_UECB(_rbId, _rbType, _ueCb, _rbCb) \ +#define RLC_DBM_GET_RBCB_FROM_UECB(_rbId, _rbType, _ueCb, _rbCb) \ (_rbCb) = ((_rbType) == CM_LTE_SRB) ? (_ueCb)->srbCb[(_rbId)] : \ (_ueCb)->drbCb[(_rbId)]; /** - * @def KW_DBM_GET_CELL_RBCB + * @def RLC_DBM_GET_CELL_RBCB * * This macro makes _rbCb point to the RB in the _rbCbLst. * _rbCb can point to NULLP @@ -503,39 +483,39 @@ * @param[out] _rbCb Pointer to the found RbCb * */ -#define KW_DBM_GET_CELL_RBCB(_rbId, _rbCbLst, _rbCb) \ +#define RLC_DBM_GET_CELL_RBCB(_rbId, _rbCbLst, _rbCb) \ (_rbCb) = (_rbCbLst)[(_rbId)]; /******************************************************************************* * UMM Defines ******************************************************************************/ -#define KW_UMDL rbCb->m.umDl -#define KW_UMUL rbCb->m.umUl +#define RLC_UMDL rbCb->m.umDl +#define RLC_UMUL rbCb->m.umUl /* Sequence Number length defines */ -#define KW_UM_CFG_5BIT_SN_LEN 1 /**< UM 5-bit Sequence number length +#define RLC_UM_CFG_6BIT_SN_LEN 1 /**< UM 6-bit Sequence number length in bytes*/ -#define KW_UM_CFG_10BIT_SN_LEN 2 /**< UM 10-bit Sequence number length +#define RLC_UM_CFG_12BIT_SN_LEN 2 /**< UM 12-bit Sequence number length in bytes*/ /* 5GNR */ /* Sequence Number length defines */ -#define KW_AM_CFG_12BIT_SN_LEN 1 /**< AM 12-bit Sequence number length +#define RLC_AM_CFG_12BIT_SN_LEN 1 /**< AM 12-bit Sequence number length in bytes*/ -#define KW_AM_CFG_18BIT_SN_LEN 2 /**< AM 18-bit Sequence number length +#define RLC_AM_CFG_18BIT_SN_LEN 2 /**< AM 18-bit Sequence number length in bytes*/ /** - * @def KW_RMV_MAC_HDR_SZ + * @def RLC_RMV_MAC_HDR_SZ * * If PDU size is greater than 127, MAC header would be 3 bytes else 2 bytes * * @param[in,out] _pduSz Size of the pdu * */ -#define KW_RMV_MAC_HDR_SZ(_pduSz) (_pduSz) -= ((_pduSz) > 127) ? 3 : 2; +#define RLC_RMV_MAC_HDR_SZ(_pduSz) (_pduSz) -= ((_pduSz) > 127) ? 3 : 2; /** - * @def KW_UM_GET_VALUE + * @def RLC_UM_GET_VALUE * * This macro is used to calculate the value of UM state variables used * in comparisons. VR(UH) - UM Window Size is taken as the base modulus. @@ -545,194 +525,191 @@ * @param[in] _kwUmUl Um Uplink control block * */ -#define KW_UM_GET_VALUE(_val,_kwUmUl) \ +#define RLC_UM_GET_VALUE(_val,_kwUmUl) \ (((_val) - ((_kwUmUl).vrUh - (_kwUmUl).umWinSz)) & ((_kwUmUl).modBitMask)) /******************************************************************************* * AMM Defines ******************************************************************************/ -#define AMDL rbCb->m.amDl -#define AMUL rbCb->m.amUl +#define RLC_AMDL rbCb->m.amDl +#define RLC_AMUL rbCb->m.amUl /* PDU Types */ -#define KW_DATA_PDU 1 -#define KW_CNTRL_PDU 0 - -#define KW_FI_FIRST_SEG 0x02 -#define KW_FI_LAST_SEG 0x01 -#define KW_SI_FIRST_SEG 0x01 -#define KW_SI_LAST_SEG 0x02 -#define KW_SI_MID_SEG 0x03 - -#define KW_POLL_SET 0x40 /* 01000000 */ -#define KW_POLL_UNSET 0xbf /* 10111111 */ -#define KW_AM_WIN_SZ 512 -#define KW_MAX_NACK_CNT 100 -/*KW_MAX_CNTRL_FIELDS (Maximum size of Status Pdu) +#define RLC_DATA_PDU 1 +#define RLC_CNTRL_PDU 0 + +#define RLC_FI_FIRST_SEG 0x02 +#define RLC_FI_LAST_SEG 0x01 +#define RLC_SI_FIRST_SEG 0x01 +#define RLC_SI_LAST_SEG 0x02 +#define RLC_SI_MID_SEG 0x03 + +#define RLC_POLL_SET 0x40 /* 01000000 */ +#define RLC_POLL_UNSET 0xbf /* 10111111 */ +#define RLC_MAX_NACK_CNT 100 +/*RLC_MAX_CNTRL_FIELDS (Maximum size of Status Pdu) * = MAX_NACK_CNT * sizeof(NACK_SN,E1,E2,E3,soStart,soEnd, nackRange) * for 18 bit SN + Fixed Header*/ -#define KW_MAX_CNTRL_FIELDS ((KW_MAX_NACK_CNT * 8) + 3) +#define RLC_MAX_CNTRL_FIELDS ((RLC_MAX_NACK_CNT * 8) + 3) /* Each LI(Length Indicator) holds approx 1+1/2 byte and some other fields thus keeping Header Size equal to twice of MAX LI */ /* 5GNR_RLC: Need to change value of HDRSZ as per number of PDUs going in one datReq */ -#define KW_MAX_HDRSZ 5 -#define KW_AM_PDU_FIXED_HDRSZ 2 -#define KW_AM_PDU_12BIT_SN_HDRSZ 2 -#define KW_AM_PDU_18BIT_SN_HDRSZ 3 -#define KW_AM_SEG_12BIT_SN_WITH_SO_HDRSZ 4 -#define KW_AM_SEG_18BIT_SN_WITH_SO_HDRSZ 5 -#define KW_AM_SEG_12BIT_SN_WITHOUT_SO_HDRSZ 2 -#define KW_AM_SEG_18BIT_SN_WITHOUT_SO_HDRSZ 3 -#define KW_EXTN_HDRSZ 2 -#define KW_CNTRL_PDU_FIXED_HDRSZ 3 -#define KW_MAC_HDR_SZ2 2 -#define KW_MAC_HDR_SZ3 3 -#define KW_BYTE_LEN 8 -#define KW_2BYTE_LEN 16 -#define KW_E1_LEN 1 -#define KW_NACK_E1E2_LEN 12 -#define KW_SO_LEN 15 -#define KW_DC_LEN 1 -#define KW_CPT_LEN 3 -#define KW_RF_LEN 1 -#define KW_P_LEN 1 -#define KW_FI_LEN 2 -#define KW_SI_LEN 2 -#define KW_E_LEN 1 -#define KW_SN_LEN 10 -#define KW_SN_LEN_12BITS 12 -#define KW_SN_LEN_18BITS 18 -#define KW_LSF_LEN 1 -#define KW_LI_LEN 11 -#define KW_STA_PDU_R_BITS_ACKSN_12BITS 7 /* 5GNR : Num Reserved bits in STATUS PDU */ -#define KW_STA_PDU_R_BITS_ACKSN_18BITS 1 -#define KW_STA_PDU_R_BITS_NACKSN_12BITS 1 -#define KW_STA_PDU_R_BITS_NACKSN_18BITS 3 -#define KW_NACK_RANGE_LEN 8 -#define KW_SO_LEN_5GNR 16 - -#define KW_DC_POS 0x80 -#define KW_DC_SHT 7 -#define KW_POLL_POS 0x40 /* 5GNR */ -#define KW_POLL_SHT 6 /* 5GNR */ -#define KW_SI_POS 0x30 /* 5GNR */ -#define KW_SI_SHT 4 /* 5GNR */ -#define KW_SN_POS_12BIT 0x0F -#define KW_SN_POS_18BIT 0x03 -#define KW_AM_GET_WIN_SZ(_snLen) ((KW_AM_CFG_12BIT_SN_LEN == (_snLen)) ? (2048) : (131072)) /* 5GNR */ -#define KW_RCV_BUF_BIN_SIZE 512 /* Could be increased to avoid the search time. - with the memory trade-off */ -#define KW_TX_BUF_BIN_SIZE 512 /* Could be increased to avoid the search time. - with the memory trade-off */ - -#define KW_SDU_LST 1 -#define KW_SEG_LST 2 -#define KW_RETX_LST 3 -#define KW_ALL_BYTES_MISSING 0xffff - -#define KW_MAX_PDU_MAP 30 /*!< Maximum PDU Map. */ - -#define KW_LLIST_FIRST_SDU(lstCp, nod) \ +#define RLC_MIN_HDRSZ 1 +#define RLC_MAX_HDRSZ 5 +#define RLC_AM_PDU_FIXED_HDRSZ 2 +#define RLC_AM_PDU_12BIT_SN_HDRSZ 2 +#define RLC_AM_PDU_18BIT_SN_HDRSZ 3 +#define RLC_AM_SEG_12BIT_SN_WITH_SO_HDRSZ 4 +#define RLC_AM_SEG_18BIT_SN_WITH_SO_HDRSZ 5 +#define RLC_AM_SEG_12BIT_SN_WITHOUT_SO_HDRSZ 2 +#define RLC_AM_SEG_18BIT_SN_WITHOUT_SO_HDRSZ 3 +#define RLC_EXTN_HDRSZ 2 +#define RLC_CNTRL_PDU_FIXED_HDRSZ 3 +#define RLC_MAC_HDR_SZ2 2 +#define RLC_MAC_HDR_SZ3 3 +#define RLC_BYTE_LEN 8 +#define RLC_2BYTE_LEN 16 +#define RLC_E1_LEN 1 +#define RLC_NACK_E1E2_LEN 12 +#define RLC_SO_LEN 15 +#define RLC_DC_LEN 1 +#define RLC_CPT_LEN 3 +#define RLC_RF_LEN 1 +#define RLC_P_LEN 1 +#define RLC_FI_LEN 2 +#define RLC_SI_LEN 2 +#define RLC_E_LEN 1 +#define RLC_SN_LEN 10 +#define RLC_SN_LEN_12BITS 12 +#define RLC_SN_LEN_18BITS 18 +#define RLC_LSF_LEN 1 +#define RLC_LI_LEN 11 +#define RLC_STA_PDU_R_BITS_ACKSN_12BITS 7 /* 5GNR : Num Reserved bits in STATUS PDU */ +#define RLC_STA_PDU_R_BITS_ACKSN_18BITS 1 +#define RLC_STA_PDU_R_BITS_NACKSN_12BITS 1 +#define RLC_STA_PDU_R_BITS_NACKSN_18BITS 3 +#define RLC_NACK_RANGE_LEN 8 +#define RLC_SO_LEN_5GNR 16 + +#define RLC_DC_POS 0x80 +#define RLC_DC_SHT 7 +#define RLC_POLL_POS 0x40 /* 5GNR */ +#define RLC_POLL_SHT 6 /* 5GNR */ +#define RLC_SI_POS 0x30 /* 5GNR */ +#define RLC_SI_SHT 4 /* 5GNR */ +#define RLC_SN_POS_12BIT 0x0F +#define RLC_SN_POS_18BIT 0x03 +#define RLC_AM_GET_WIN_SZ(_snLen) ((RLC_AM_CFG_12BIT_SN_LEN == (_snLen)) ? (2048) : (131072)) /* 5GNR */ +#define RLC_RCV_BUF_BIN_SIZE 512 /* receive buffer size */ +#define RLC_TX_BUF_BIN_SIZE 512 /* receive buffer size */ + +#define RLC_SDU_LST 1 +#define RLC_SEG_LST 2 +#define RLC_RETX_LST 3 +#define RLC_ALL_BYTES_MISSING 0xffff + +#define RLC_MAX_PDU_MAP 30 /*!< Maximum PDU Map. */ + +#define RLC_LLIST_FIRST_SDU(lstCp, nod) \ { \ CmLList *tmpNode; \ /*CM_LLIST_FIRST_NODE(&(lstCp), tmpNode);*/ \ /*if (tmpNode != NULLP)*/ \ if((tmpNode=cmLListFirst(&lstCp))) \ - nod = (KwSdu *)tmpNode->node; \ + nod = (RlcSdu *)tmpNode->node; \ else \ nod = NULLP; \ } -#define KW_LLIST_FIRST_SEG(lstCp, nod) \ +#define RLC_LLIST_FIRST_SEG(lstCp, nod) \ { \ CmLList *tmpNode; \ /*CM_LLIST_FIRST_NODE(&(lstCp), tmpNode);*/ \ /*if (tmpNode != NULLP)*/ \ if((tmpNode=cmLListFirst(&lstCp))) \ - nod = (KwSeg *)tmpNode->node; \ + nod = (RlcSeg *)tmpNode->node; \ else \ nod = NULLP; \ } - -#define KW_LLIST_FIRST_RETX(lstCp, nod) \ +#define RLC_LLIST_FIRST_RETX(lstCp, nod) \ { \ CmLList *tmpNode; \ /*CM_LLIST_FIRST_NODE(&(lstCp), tmpNode);*/ \ /*if (tmpNode != NULLP)*/ \ if((tmpNode=cmLListFirst(&lstCp))) \ - nod = (KwRetx *)tmpNode->node; \ + nod = (RlcRetx *)tmpNode->node; \ else \ nod = NULLP; \ } -#define KW_LLIST_NEXT_SDU(lstCp, nod) \ +#define RLC_LLIST_NEXT_SDU(lstCp, nod) \ { \ CmLList *tmpNode; \ /*CM_LLIST_NEXT_NODE(&(lstCp), tmpNode);*/ \ /*if (tmpNode != NULLP) */ \ if((tmpNode = cmLListNext(&lstCp))) \ - nod = (KwSdu *)tmpNode->node; \ + nod = (RlcSdu *)tmpNode->node; \ else \ nod = NULLP; \ } -#define KW_LLIST_NEXT_SEG(lstCp, nod) \ +#define RLC_LLIST_NEXT_SEG(lstCp, nod) \ { \ CmLList *tmpNode; \ (lstCp).crnt = &((nod)->lstEnt); \ /*CM_LLIST_NEXT_NODE(&(lstCp), tmpNode);*/ \ /*if (tmpNode != NULLP)*/ \ if((tmpNode = cmLListNext(&lstCp))) \ - nod = (KwSeg *)tmpNode->node; \ + nod = (RlcSeg *)tmpNode->node; \ else \ nod = NULLP; \ } -#define KW_LLIST_NEXT_RETX(lstCp, nod) \ +#define RLC_LLIST_NEXT_RETX(lstCp, nod) \ { \ CmLList *tmpNode; \ /*CM_LLIST_NEXT_NODE(&(lstCp), tmpNode);*/ \ /*if (tmpNode != NULLP) */ \ if ((tmpNode = cmLListNext(&lstCp))) \ - nod = (KwRetx *)tmpNode->node; \ + nod = (RlcRetx *)tmpNode->node; \ else \ nod = NULLP; \ } -#define KW_LLIST_LAST_RETX(lstCp, nod) \ +#define RLC_LLIST_LAST_RETX(lstCp, nod) \ { \ CmLList *tempNode = NULLP; \ cmLListLast(&lstCp); \ tempNode = cmLListCrnt(&lstCp); \ if (tempNode != NULLP) \ - nod = (KwRetx *)tempNode->node; \ + nod = (RlcRetx *)tempNode->node; \ else \ nod = NULLP; \ } -#define KW_LLIST_LAST_SEG(lstCp, nod) \ +#define RLC_LLIST_LAST_SEG(lstCp, nod) \ { \ CmLList *tempNode = NULLP; \ cmLListLast(&lstCp); \ tempNode = cmLListCrnt(&lstCp); \ if (tempNode != NULLP) \ - nod = (KwSeg *)tempNode->node; \ + nod = (RlcSeg *)tempNode->node; \ else \ nod = NULLP; \ } -#define KW_LLIST_LAST_SDU(lstCp, nod) \ +#define RLC_LLIST_LAST_SDU(lstCp, nod) \ { \ CmLList *tempNode = NULLP; \ cmLListLast(&lstCp); \ tempNode = cmLListCrnt(&lstCp); \ if (tempNode != NULLP) \ - nod = (KwSdu *)tempNode->node; \ + nod = (RlcSdu *)tempNode->node; \ else \ nod = NULLP; \ } @@ -751,18 +728,37 @@ cmLListInsCrnt(&lstCp, nodeToIns); \ } -#define KW_LLIST_DEL_RECBUF(_recBuf) \ +#define RLC_LLIST_DEL_RECBUF(_recBuf) \ { \ - KwSeg *_seg = NULLP; \ - KW_LLIST_FIRST_SEG(_recBuf->segLst, _seg); \ + RlcSeg *_seg = NULLP; \ + RLC_LLIST_FIRST_SEG(_recBuf->segLst, _seg); \ while (_seg) \ { \ cmLListDelFrm(&_recBuf->segLst, &_seg->lstEnt); \ - RLC_FREE(_seg, sizeof(KwSeg)); \ - KW_LLIST_NEXT_SEG(_recBuf->segLst, _seg); \ + RLC_FREE(_seg, sizeof(RlcSeg)); \ + RLC_LLIST_NEXT_SEG(_recBuf->segLst, _seg); \ } \ } +#define RLC_UMM_LLIST_FIRST_SEG(lstCp, nod) \ +{ \ + CmLList *tmpNode; \ + if((tmpNode=cmLListFirst(&lstCp))) \ + nod = (RlcUmSeg *)tmpNode->node; \ + else \ + nod = NULLP; \ +} /*!< um mode first segment of linked list*/ + +#define RLC_UMM_LLIST_NEXT_SEG(lstCp, nod) \ +{ \ + CmLList *tmpNode; \ + (lstCp).crnt = &((nod)->lstEnt); \ + if((tmpNode = cmLListNext(&lstCp))) \ + nod = (RlcUmSeg *)tmpNode->node; \ + else \ + nod = NULLP; \ +}/*!< next segment in um mode linked list*/ + #define MODAMT(x, y, z,_snModMask) \ { \ y = (x - z) & _snModMask; \ @@ -774,7 +770,7 @@ } /** - * @def KW_AM_IS_TRANS_WIN_STALLED + * @def RLC_AM_IS_TRANS_WIN_STALLED * * This macro is used to check if the AM transmit window is stalled or not. * The tramist window is stalled when the distance between txNext and txNextAck @@ -785,25 +781,25 @@ * @param[in] _amDl AM Downlink control block * */ -#define KW_AM_IS_TRANS_WIN_STALLED(_amDl) \ - ((((_amDl)->txNext - (_amDl)->txNextAck) & _amDl->snModMask) >= (KW_AM_GET_WIN_SZ(_amDl->snLen))) +#define RLC_AM_IS_TRANS_WIN_STALLED(_amDl) \ + ((((_amDl)->txNext - (_amDl)->txNextAck) & _amDl->snModMask) >= (RLC_AM_GET_WIN_SZ(_amDl->snLen))) #ifdef TENB_STATS -#define KW_AM_TRANS_WIN_SIZE(_amDl) \ +#define RLC_AM_TRANS_WIN_SIZE(_amDl) \ (((_amDl)->txNext - (_amDl)->txNextAck) & _amDl->snModMask) #endif -#define KW_AM_IS_POLL_BIT_SET(_amDl) \ - (AMDL.pollSn == ((AMDL.txNext - 1) & AMDL.snModMask)) +#define RLC_AM_IS_POLL_BIT_SET(_amDl) \ + (RLC_AMDL.pollSn == ((RLC_AMDL.txNext - 1) & RLC_AMDL.snModMask)) -#define KW_FILL_CNTRL_INFO(cntrlInfo, _val, _len, _idx, _eb)\ +#define RLC_FILL_CNTRL_INFO(cntrlInfo, _val, _len, _idx, _eb)\ { \ cntrlInfo.val = _val; \ cntrlInfo.len = _len; \ cntrlInfo.idx = _idx; \ cntrlInfo.emtBits = _eb; \ } -#define KW_FILL_PREV_IDX(cntrlInfo, _e1Idx, _e1eb, _idx, _eb) \ +#define RLC_FILL_PREV_IDX(cntrlInfo, _e1Idx, _e1eb, _idx, _eb) \ { \ _e1Idx = cntrlInfo.e1Idx; \ _e1eb = cntrlInfo.e1eb; \ @@ -811,7 +807,7 @@ _eb = cntrlInfo.emtBits; \ } -#define KW_FILL_HDR_ARGS(hdrInfo, _val, _len) \ +#define RLC_FILL_HDR_ARGS(hdrInfo, _val, _len) \ { \ hdrInfo.val = _val; \ hdrInfo.len = _len; \ @@ -820,7 +816,7 @@ /* kw003.201 - This macro provides the header size other than the */ /* fixed header of 2 bytes for each AMD PDU or 4 bytes*/ /* for an AM PDU segment */ -#define KW_AM_EXTN_HDRSZ(_numLi, _eHdrSz) \ +#define RLC_AM_EXTN_HDRSZ(_numLi, _eHdrSz) \ { \ if ((_numLi - 1) % 2) \ { \ @@ -833,9 +829,9 @@ } /* Update poll bit in the buffer */ -#define KW_UPD_POLL_BIT(_gCb, _retx, _poll) \ +#define RLC_UPD_POLL_BIT(_gCb, _retx, _poll) \ { \ - U8 fHdr; \ + uint8_t fHdr; \ \ if (_poll != _retx->amHdr.p) \ { \ @@ -843,11 +839,11 @@ SRemPreMsg((Data *)&fHdr, _retx->seg); \ if (_poll == TRUE) \ { \ - fHdr = fHdr | KW_POLL_SET; \ + fHdr = fHdr | RLC_POLL_SET; \ } \ else \ { \ - fHdr = fHdr & KW_POLL_UNSET; \ + fHdr = fHdr & RLC_POLL_UNSET; \ } \ /* Concatenated updated hdr to the mBuf */ \ SAddPreMsg ((Data)fHdr, _retx->seg); \ @@ -856,7 +852,7 @@ _retx->amHdr.p = _poll; \ } -#define KW_AM_ELIMINATE_EXTN_HDR(_pduSz, _sduSz, _numLi) \ +#define RLC_AM_ELIMINATE_EXTN_HDR(_pduSz, _sduSz, _numLi) \ { \ if ( (_pduSz > _sduSz) && (_sduSz < 2048) ) \ { \ @@ -864,7 +860,7 @@ } \ } /** - * @def KW_AM_CHK_SN_WITHIN_RECV_WINDOW + * @def RLC_AM_CHK_SN_WITHIN_RECV_WINDOW * * This macro is used to check if a Sequence Number falls within the AM * reception window or not. @@ -878,18 +874,18 @@ * @param[in] _amUl AM Uplink control block * */ -#define KW_AM_CHK_SN_WITHIN_RECV_WINDOW(_sn, _amUl) \ +#define RLC_AM_CHK_SN_WITHIN_RECV_WINDOW(_sn, _amUl) \ ((((_sn) - (_amUl->rxNext)) & (_amUl->snModMask)) < (((_amUl->vrMr) - (_amUl->rxNext)) & (_amUl->snModMask))) -#define KW_POWER(x, y) x << (y-1); +#define RLC_POWER(x, y) x << (y-1); #ifndef L2_OPTMZ -#define kwCpyMsg(_cb,x, y) \ - (SAddMsgRef((x), KW_GET_MEM_REGION(_cb), KW_GET_MEM_POOL(_cb), (y))) +#define rlcCpyMsg(_cb,x, y) \ + (SAddMsgRef((x), RLC_GET_MEM_REGION(_cb), RLC_GET_MEM_POOL(_cb), (y))) #else /* L2 optimization for mUe/Tti: Removing dup buf*/ -#define kwCpyMsg(_cb,x, y) \ - (SIncMsgRef((x), KW_GET_MEM_REGION(_cb), KW_GET_MEM_POOL(_cb), (y))) +#define rlcCpyMsg(_cb,x, y) \ + (SIncMsgRef((x), RLC_GET_MEM_REGION(_cb), RLC_GET_MEM_POOL(_cb), (y))) #endif // printf("Copy Msg %x \n",x); @@ -897,57 +893,57 @@ /******************************************************************************* * Debugging Defines ******************************************************************************/ -#define KW_DBG_SUB_MASK DBGMASK_MI /**< Use for sub-mask */ -#define KW_DBGMASK_DETAIL (KW_DBG_SUB_MASK << 0) /**< Parameters, It will give +#define RLC_DBG_SUB_MASK DBGMASK_MI /**< Use for sub-mask */ +#define RLC_DBGMASK_DETAIL (RLC_DBG_SUB_MASK << 0) /**< Parameters, It will give in depth info */ -#define KW_DBGMASK_BRIEF (KW_DBG_SUB_MASK << 1) /**< Info, It will give info at +#define RLC_DBGMASK_BRIEF (RLC_DBG_SUB_MASK << 1) /**< Info, It will give info at entry and exit places along with certain state changes */ -#define KW_DBGMASK_ERROR (KW_DBG_SUB_MASK << 2) /**< Error information */ -#define KW_DBGMASK_FATAL (KW_DBG_SUB_MASK << 3) /**< FATAL errors like memory +#define RLC_DBGMASK_ERROR (RLC_DBG_SUB_MASK << 2) /**< Error information */ +#define RLC_DBGMASK_FATAL (RLC_DBG_SUB_MASK << 3) /**< FATAL errors like memory resource failure etc., */ -#define KW_DBG_MDL_MASK (KW_DBG_SUB_MASK << 4) - -#define KW_DBGMASK_TM (KW_DBG_MDL_MASK << 0) /**< TM */ -#define KW_DBGMASK_UM (KW_DBG_MDL_MASK << 1) /**< UM */ -#define KW_DBGMASK_AM (KW_DBG_MDL_MASK << 2) /**< AM */ -#define KW_DBGMASK_DL (KW_DBG_MDL_MASK << 3) /**< DL */ -#define KW_DBGMASK_UL (KW_DBG_MDL_MASK << 4) /**< UL */ -#define KW_DBGMASK_CFG (KW_DBG_MDL_MASK << 5) /**< CFG */ -#define KW_DBGMASK_LMM (KW_DBG_MDL_MASK << 6) /**< LMM */ -#define KW_DBGMASK_INF (KW_DBG_MDL_MASK << 7) /**< UI, LI */ -#define KW_DBGMASK_DUT (KW_DBG_MDL_MASK << 8) /**< DBM, UTL, TMR */ -#define KW_DBGMASK_MBUF_PRNT (KW_DBG_MDL_MASK << 9) /**< MBUF, useful in +#define RLC_DBG_MDL_MASK (RLC_DBG_SUB_MASK << 4) + +#define RLC_DBGMASK_TM (RLC_DBG_MDL_MASK << 0) /**< TM */ +#define RLC_DBGMASK_UM (RLC_DBG_MDL_MASK << 1) /**< UM */ +#define RLC_DBGMASK_AM (RLC_DBG_MDL_MASK << 2) /**< AM */ +#define RLC_DBGMASK_DL (RLC_DBG_MDL_MASK << 3) /**< DL */ +#define RLC_DBGMASK_UL (RLC_DBG_MDL_MASK << 4) /**< UL */ +#define RLC_DBGMASK_CFG (RLC_DBG_MDL_MASK << 5) /**< CFG */ +#define RLC_DBGMASK_LMM (RLC_DBG_MDL_MASK << 6) /**< LMM */ +#define RLC_DBGMASK_INF (RLC_DBG_MDL_MASK << 7) /**< UI, LI */ +#define RLC_DBGMASK_DUT (RLC_DBG_MDL_MASK << 8) /**< DBM, UTL, TMR */ +#define RLC_DBGMASK_MBUF_PRNT (RLC_DBG_MDL_MASK << 9) /**< MBUF, useful in integrated testing */ -#define KW_DBGMASK_MEM_INFO (KW_DBG_MDL_MASK << 10) /**< Print SSI memory +#define RLC_DBGMASK_MEM_INFO (RLC_DBG_MDL_MASK << 10) /**< Print SSI memory information*/ -#define KW_DBGMASK_UDX (KW_DBG_MDL_MASK << 11) /**< UDX interface */ +#define RLC_DBGMASK_UDX (RLC_DBG_MDL_MASK << 11) /**< UDX interface */ #ifdef DEBUGP -#define KW_PRNT_BORDER \ +#define RLC_PRNT_BORDER \ do \ { \ - KW_PRNT((_kwPBuf, "\n==========================\n")); \ + RLC_PRNT((_kwPBuf, "\n==========================\n")); \ }while(0) -#define KW_PRNT_HLINE(_cb,_pMsg) \ +#define RLC_PRNT_HLINE(_cb,_pMsg) \ { \ sprintf((_cb)->init.prntBuf, "[RLC_LAYER: %s:%d]::", __FILE__, __LINE__); \ SPrint((_cb)->init.prntBuf); \ - KW_PRNT_TSTAMP(_cb); \ + RLC_PRNT_TSTAMP(_cb); \ sprintf((_cb)->init.prntBuf, _pMsg); \ SPrint((_cb)->init.prntBuf); \ } -#define KW_PRNT(_cb,_prntbuf) \ +#define RLC_PRNT(_cb,_prntbuf) \ { \ sprintf _prntbuf; \ SPrint(_cb->init.prntBuf); \ } -#define KW_PRINT_TO_BUFFER(_cb,...) \ +#define RLC_PRINT_TO_BUFFER(_cb,...) \ { \ snprintf((_cb)->init.prntBuf, PRNTSZE, "[%s]::", __func__); \ SPrint((_cb)->init.prntBuf); \ @@ -955,78 +951,78 @@ do \ SPrint(_cb->init.prntBuf); \ } -#define KW_PRNT_TSTAMP(_cb) \ +#define RLC_PRNT_TSTAMP(_cb) \ { \ S8 _buf[60]; \ DateTime dt; \ - cmMemset((U8 *)(&dt), 0, sizeof(DateTime)); \ + memset((&dt), 0, sizeof(DateTime)); \ SGetDateTime(&dt); \ sprintf(_buf, "date: %02d/%02d/%04d time: %02d:%02d:%02d", \ (int)dt.month,(int)dt.day,(int)dt.year + 1900, \ (int)dt.hour,(int)dt.min,(int)dt.sec); \ - KW_PRNT(_cb,(_cb->init.prntBuf,("[%s]", _buf))); \ + RLC_PRNT(_cb,(_cb->init.prntBuf,("[%s]", _buf))); \ } -#define KW_PRNT_MBUF(_cb,_mBufPtr) \ +#define RLC_PRNT_MBUF(_cb,_mBufPtr) \ do \ { \ - if(_cb->init.dbgMask & (KW_DBGMASK_MBUF_PRNT)) \ + if(_cb->init.dbgMask & (RLC_DBGMASK_MBUF_PRNT)) \ { \ - KW_PRNT_HLINE(_cb,("\nMessage Buffer Contents:\n")); \ + RLC_PRNT_HLINE(_cb,("\nMessage Buffer Contents:\n")); \ SPrntMsg ((Buffer *)_mBufPtr, 0, 0); \ } \ }while(0) -#define KW_PRNT_MEMINFO(_cb) \ +#define RLC_PRNT_MEMINFO(_cb) \ do \ { \ - U32 _memInfo; \ - if(_cb->init.dbgMask & (KW_DBGMASK_MEM_INFO)) \ + uint32_t _memInfo; \ + if(_cb->init.dbgMask & (RLC_DBGMASK_MEM_INFO)) \ { \ - KW_PRNT_HLINE(_cb,("\nMemory Information:\n")); \ + RLC_PRNT_HLINE(_cb,("\nMemory Information:\n")); \ SRegInfoShow(0, &_memInfo); \ } \ }while(0) -#define KWDBGP_INTERNAL(_cb,_mask,...) \ +#define RLCDBGP_INTERNAL(_cb,_mask,...) \ do \ { \ if (!((_cb->init.dbgMask & _mask) ^ _mask)) \ { \ - KW_PRINT_TO_BUFFER(_cb, __VA_ARGS__); \ + RLC_PRINT_TO_BUFFER(_cb, __VA_ARGS__); \ } \ }while(0) -#define KWDBGP_ERROR(_cb, ...) \ - KWDBGP_INTERNAL(_cb,(KW_DBGMASK_ERROR | KW_MODULE),__VA_ARGS__) +#define RLCDBGP_ERROR(_cb, ...) \ + RLCDBGP_INTERNAL(_cb,(RLC_DBGMASK_ERROR | RLC_MODULE),__VA_ARGS__) -#define KWDBGP_DETAIL(_cb, ...) \ - KWDBGP_INTERNAL(_cb,(KW_DBGMASK_DETAIL | KW_MODULE),__VA_ARGS__) +#define RLCDBGP_DETAIL(_cb, ...) \ + RLCDBGP_INTERNAL(_cb,(RLC_DBGMASK_DETAIL | RLC_MODULE),__VA_ARGS__) -#define KWDBGP_BRIEF(_cb, ...) \ - KWDBGP_INTERNAL(_cb,(KW_DBGMASK_BRIEF | KW_MODULE),__VA_ARGS__) +#define RLCDBGP_BRIEF(_cb, ...) \ + RLCDBGP_INTERNAL(_cb,(RLC_DBGMASK_BRIEF | RLC_MODULE),__VA_ARGS__) #else /* DEBUGP */ -#define KW_PRNT_HLINE(_cb,_pMsg) -#define KW_PRNT(_cb,_prntbuf) -#define KW_PRNT_TSTAMP(_cb) -#define KW_PRNT_MBUF(_cb,_mBufPtr) -#define KW_PRNT_MEMINFO(_cb) -#define KWDBGP(_cb,_mask, _arg) -#define KWDBGP_ERROR(_cb, ...) -#define KWDBGP_DETAIL(_cb, ...) -#define KWDBGP_BRIEF(_cb, ...) +#define RLC_PRNT_HLINE(_cb,_pMsg) +#define RLC_PRNT(_cb,_prntbuf) +#define RLC_PRNT_TSTAMP(_cb) +#define RLC_PRNT_MBUF(_cb,_mBufPtr) +#define RLC_PRNT_MEMINFO(_cb) +#define RLCDBGP(_cb,_mask, _arg) +#define RLCDBGP_ERROR(_cb, ...) +#define RLCDBGP_DETAIL(_cb, ...) +#define RLCDBGP_BRIEF(_cb, ...) #endif /* DEBUGP */ /******************************************************************************* * LMM Defines ******************************************************************************/ -#define KW_LMM_RB_STS_INC(_cb) (_cb)->genSts.numOfRb++; +#define RLC_LMM_RB_STS_INC(_cb) (_cb)->genSts.numOfRb++; -#define KW_LMM_RB_STS_DEC(_cb) (_cb)->genSts.numOfRb--; +#define RLC_LMM_RB_STS_DEC(_cb) (_cb)->genSts.numOfRb--; #if defined(SS_MULTICORE_SUPPORT) && defined(SS_M_PROTO_REGION) -#define KW_FILL_SAP_HELPER(_Sap, _cfg, _gCb)\ +#define RLC_FILL_SAP_HELPER(_Sap, _cfg, _gCb)\ {\ _Sap->pst.selector = _cfg->selector; \ _Sap->pst.route = _cfg->route; \ @@ -1041,10 +1037,10 @@ do \ _Sap->pst.srcInst = _gCb->init.inst; \ _Sap->pst.event = EVTNONE; \ _Sap->spId = _cfg->sapId; \ - _Sap->state = KW_SAP_CFG; \ + _Sap->state = RLC_SAP_CFG; \ } #else /* defined(SS_MULTICORE_SUPPORT) && defined(SS_M_PROTO_REGION) */ -#define KW_FILL_SAP_HELPER(_Sap, _cfg, _gCb)\ +#define RLC_FILL_SAP_HELPER(_Sap, _cfg, _gCb)\ {\ _Sap->pst.selector = _cfg->selector; \ _Sap->pst.route = _cfg->route; \ @@ -1059,34 +1055,34 @@ do \ _Sap->pst.srcInst = _gCb->init.inst;\ _Sap->pst.event = EVTNONE;\ _Sap->spId = _cfg->sapId;\ - _Sap->state = KW_SAP_CFG;\ + _Sap->state = RLC_SAP_CFG;\ } #endif /******************************************************************************* * UDX Defines ******************************************************************************/ -#define KW_GET_DL_SAPCB(_cb, _rbCb) (_cb->u.dlCb->udxDlSap + _rbCb->udxSapId) -#define KW_GET_UDX_SAP(_cb) (_cb->u.ulCb->udxUlSap) +#define RLC_GET_DL_SAPCB(_cb, _rbCb) (_cb->u.dlCb->udxDlSap + _rbCb->udxSapId) +#define RLC_GET_UDX_SAP(_cb) (_cb->u.ulCb->udxUlSap) /* kw005.201 added support for L2 Measurement */ #ifdef LTE_L2_MEAS -#define KW_L2_MAX_TIMERS 1 -#define KW_QCI_LIST_BUCKET_SIZE 10 -#define KW_TB_LIST_BUCKET_SIZE 10 -#define KW_MAX_L2MEAS_EVT 10 +#define RLC_L2_MAX_TIMERS 1 +#define RLC_QCI_LIST_BUCKET_SIZE 10 +#define RLC_TB_LIST_BUCKET_SIZE 10 +#define RLC_MAX_L2MEAS_EVT 10 /* L2 Measurement index to be used in rbCb to store measData */ -#define KW_L2MEAS_ACT_UE 0 -#define KW_L2MEAS_DL_DELAY 1 -#define KW_L2MEAS_DL_DISC 2 -#define KW_L2MEAS_UU_LOSS 3 -#define KW_L2MEAS_DL_IP 4 -#define KW_L2MEAS_UL_IP 5 +#define RLC_L2MEAS_ACT_UE 0 +#define RLC_L2MEAS_DL_DELAY 1 +#define RLC_L2MEAS_DL_DISC 2 +#define RLC_L2MEAS_UU_LOSS 3 +#define RLC_L2MEAS_DL_IP 4 +#define RLC_L2MEAS_UL_IP 5 #endif /* LTE_L2_MEAS */ -#define KW_RDWR_LOCK(_lockPtr) -#define KW_RDWR_UNLOCK(_lockPtr) -#define KW_TIME_DIFF(t1,t2) \ +#define RLC_RDWR_LOCK(_lockPtr) +#define RLC_RDWR_UNLOCK(_lockPtr) +#define RLC_TIME_DIFF(t1,t2) \ (t1