# macro for output file name and makefile name
#
-PLTFRM_FLAGS=-UMSPD -DODU -DINTEL_FAPI -UODU_MEMORY_DEBUG_LOG -DDEBUG_ASN_PRINT -UDEBUG_PRINT -DERROR_PRINT -USTART_DL_UL_DATA -UNR_DRX -UCALL_FLOW_DEBUG_LOG -UODU_SLOT_IND_DEBUG_LOG -UNFAPI_ENABLED -UTHREAD_AFFINITY -UMEM_SIZE_CHECK -DFAPI_DECODER
+PLTFRM_FLAGS=-UMSPD -DODU -DINTEL_FAPI -UODU_MEMORY_DEBUG_LOG -DDEBUG_ASN_PRINT -UDEBUG_PRINT -DERROR_PRINT -USTART_DL_UL_DATA -UNR_DRX -UCALL_FLOW_DEBUG_LOG -UODU_SLOT_IND_DEBUG_LOG -UNFAPI_ENABLED -UTHREAD_AFFINITY -UMEM_SIZE_CHECK -UFAPI_DECODER
ifeq ($(MODE),TDD)
PLTFRM_FLAGS += -DNR_TDD
ulData->slotInfo.cellId = cellId;
/* Filling pdu info */
+ if(lcId < MIN_DRB_LCID)
+ {
+ ulData->pduInfo[ulData->numPdu].rbType = RB_TYPE_SRB;
+ }
+ else if(lcId <= MAX_DRB_LCID)
+ {
+ ulData->pduInfo[ulData->numPdu].rbType = RB_TYPE_DRB;
+ }
+ else
+ {
+ DU_LOG("\nERROR --> MAC: Invalid LCID:%d thus can't forward UL DATA to RLC", lcId);
+ MAC_FREE_SHRABL_BUF(MAC_MEM_REGION, MAC_POOL, ulData, sizeof(RlcUlData));
+ return RFAILED;
+ }
ulData->pduInfo[ulData->numPdu].lcId = lcId;
ulData->pduInfo[ulData->numPdu].pduBuf = pdu;
ulData->pduInfo[ulData->numPdu].pduLen = pduLen;
dlData->cellId = rbCb->rlcId.cellId;
dlData->rnti = sdu->mode.tm.rnti;
dlData->numPdu = 1;
+ dlData->pduInfo[0].rbType = RB_TYPE_DRB;
dlData->pduInfo[0].lcId = rbCb->lch.lChId;
/* Copy Message to fixed buffer to send */
lcId = datPerLch.lcId;
for(pduIdx = 0; pduIdx < datPerLch.pdu.numPdu; pduIdx++)
{
+ dlData->pduInfo[dlData->numPdu].rbType = RB_TYPE_DRB;
dlData->pduInfo[dlData->numPdu].lcId = datPerLch.lcId;
/* Copy Message to fixed buffer to send */
TRAVERSE_ALL
}ActionTypeLL;
+typedef enum
+{
+ RB_TYPE_SRB, /* Signalling Radio Bearer */
+ RB_TYPE_DRB /* Data Radio Bearer */
+}RbType;
+
typedef struct slotTimingInfo
{
uint16_t cellId;
#define LCH_DTCH 4 /*!< DTCH Logical Channel */
#define LCH_DCCH 5 /*!< DCCH Logical Channel */
-typedef enum
-{
- RB_TYPE_SRB, /* Signalling Radio Bearer */
- RB_TYPE_DRB /* Data Radio Bearer */
-}RlcRbType;
-
typedef enum
{
TRANSMISSION_IN_PROGRESS,
typedef struct rlcMaxRetransInd
{
- uint16_t cellId;
- uint16_t ueId;
- RlcRbType lcType;
- uint8_t lcId;
+ uint16_t cellId;
+ uint16_t ueId;
+ RbType lcType;
+ uint8_t lcId;
}RlcMaxRetransInfo;
typedef struct ulAmCfg
typedef struct rlcBearerCfg
{
uint8_t rbId;
- RlcRbType rbType;
+ RbType rbType;
uint8_t lcId;
uint8_t lcType;
Snssai *snssai;
/* DL/UL data transfer */
typedef struct rlcPduInfo
{
+ RbType rbType; /*!< Radio Bearer Type */
uint8_t lcId; /*!< Logical channel ID */
uint16_t pduLen; /*!< PDU Length */
uint8_t *pduBuf; /*!< RLC PDU buffer */
* @return RRC codec enum value for RB type
*
* **********************************************************************/
-RLC_BearerConfig__servedRadioBearer_PR covertRbTypeFromIntEnumToRrcEnum(RlcRbType rbType)
+RLC_BearerConfig__servedRadioBearer_PR covertRbTypeFromIntEnumToRrcEnum(RbType rbType)
{
switch(rbType)
{
#include "ShortDRXCycleLength.h"
#include "DRX-ConfigRrc.h"
-RLC_BearerConfig__servedRadioBearer_PR covertRbTypeFromIntEnumToRrcEnum(RlcRbType rbType);
+RLC_BearerConfig__servedRadioBearer_PR covertRbTypeFromIntEnumToRrcEnum(RbType rbType);
RLC_Config_PR covertRlcModeFromIntEnumToRrcEnum(RlcMode mode);
SN_FieldLengthAM_t covertAmSnLenFromIntEnumToRrcEnum(SnLenAm snLen);
SnLenAm covertAmSnLenFromRrcEnumToIntEnum(SN_FieldLengthAM_t snLen);