+/******************************************************************
+ *
+ * @brief Fills Rlc AM Information
+ *
+ * @details
+ *
+ * Function : fillAmInfo
+ *
+ * Functionality: Fills Rlc AM Information
+ *
+ *
+ *****************************************************************/
+void fillAmInfo(AmBearerCfg *amCfg)
+{
+ /* DL AM */
+ amCfg->dlAmCfg.snLenDl = AM_SIZE_12;
+ amCfg->dlAmCfg.pollRetxTmr = POLL_RETX_TMR_45MS;
+ amCfg->dlAmCfg.pollPdu = POLL_PDU_TMR_INFINITY;
+ amCfg->dlAmCfg.pollByte = POLL_BYTES_INFINITY;
+ amCfg->dlAmCfg.maxRetxTh = RETX_TH_8;
+
+ /* UL AM */
+ amCfg->ulAmCfg.snLenUl = AM_SIZE_12;
+ amCfg->ulAmCfg.reAssemTmr = RE_ASM_40MS;
+ amCfg->ulAmCfg.statProhTmr = PROH_35MS;
+
+}
+
+/******************************************************************
+ *
+ * @brief Fills RLC UM Bi Directional Information
+ *
+ * @details
+ *
+ * Function : fillUmBiDirInfo
+ *
+ * Functionality: Fills RLC UM Bi Directional Information
+ *
+ *
+ *****************************************************************/
+void fillUmBiDirInfo(UmBiDirBearerCfg *umBiDirCfg)
+{
+ /* UL UM BI DIR INFO */
+ umBiDirCfg->ulUmCfg.snLenUlUm = UM_SIZE_12;
+ umBiDirCfg->ulUmCfg.reAssemTmr = RE_ASM_40MS;
+
+ /* DL UM BI DIR INFO */
+ umBiDirCfg->dlUmCfg.snLenDlUm = UM_SIZE_12;
+
+}
+
+/******************************************************************
+ *
+ * @brief Fills RLC UM Uni Directional UL Information
+ *
+ * @details
+ *
+ * Function : fillUmUniDirUlInfo
+ *
+ * Functionality: Fills RLC UM Uni Directional Info
+ *
+ *
+ *****************************************************************/
+void fillUmUniDirUlInfo(UmUniDirUlBearerCfg *umUniDirUlCfg)
+{
+ umUniDirUlCfg->ulUmCfg.snLenUlUm = UM_SIZE_12;
+ umUniDirUlCfg->ulUmCfg.reAssemTmr = RE_ASM_40MS;
+}
+
+/******************************************************************
+ *
+ * @brief Fills RLC UM Uni Directional DL Information
+ *
+ * @details
+ *
+ * Function : fillUmUniDirDlInfo
+ *
+ * Functionality: Fills RLC UM Uni Directional DL Info
+ *
+ *
+ *****************************************************************/
+void fillUmUniDirDlInfo(UmUniDirDlBearerCfg *umUniDirDlCfg)
+{
+ umUniDirDlCfg->dlUmCfg.snLenDlUm = UM_SIZE_12;
+}
+
+/******************************************************************
+ *
+ * @brief Fills RlcBearerCfg structure
+ *
+ * @details
+ *
+ * Function : fillRlcBearerCfg
+ *
+ * Functionality: Fills Rlc Bearer Cfg
+ *
+ *
+ *****************************************************************/
+void fillRlcBearerCfg(uint16_t cellId, uint8_t ueIdx, RlcUeCfg *ueCfg)
+{
+ uint8_t idx;
+ ueCfg->cellId = cellId;
+ ueCfg->ueIdx = ueIdx;
+ ueCfg->numLcs = SRB_ID_1;
+
+ for(idx = 0; idx < ueCfg->numLcs; idx++)
+ {
+ ueCfg->rlcBearerCfg[idx].rbId = RB_ID_SRB;
+ ueCfg->rlcBearerCfg[idx].rbType = RB_TYPE_SRB;
+ ueCfg->rlcBearerCfg[idx].lcId = SRB_ID_1;
+ ueCfg->rlcBearerCfg[idx].lcType = LCH_DCCH;
+ ueCfg->rlcBearerCfg[idx].rlcMode = RLC_AM;
+ switch(ueCfg->rlcBearerCfg[idx].rlcMode)
+ {
+ case RLC_AM:
+ memset(&ueCfg->rlcBearerCfg[idx].u.amCfg, 0, sizeof(AmBearerCfg));
+ fillAmInfo(&ueCfg->rlcBearerCfg[idx].u.amCfg);
+ break;
+ case RLC_UM_BI_DIRECTIONAL:
+ memset(&ueCfg->rlcBearerCfg[idx].u.umBiDirCfg, 0, sizeof(UmBiDirBearerCfg));
+ fillUmBiDirInfo(&ueCfg->rlcBearerCfg[idx].u.umBiDirCfg);
+ break;
+ case RLC_UM_UNI_DIRECTIONAL_UL:
+ memset(&ueCfg->rlcBearerCfg[idx].u.umUniDirUlCfg, 0, sizeof(UmUniDirUlBearerCfg));
+ fillUmUniDirUlInfo(&ueCfg->rlcBearerCfg[idx].u.umUniDirUlCfg);
+ break;
+ case RLC_UM_UNI_DIRECTIONAL_DL:
+ memset(&ueCfg->rlcBearerCfg[idx].u.umUniDirDlCfg, 0, sizeof(UmUniDirDlBearerCfg));
+ fillUmUniDirDlInfo(&ueCfg->rlcBearerCfg[idx].u.umUniDirDlCfg);
+ break;
+ default :
+ DU_LOG("\nDU_APP: Rlc Mode invalid %d", ueCfg->rlcBearerCfg[idx].rlcMode);
+ break;
+ }
+ }
+}
+