Fix configuration mess of initial_cs/mcs between PCUIF and VTY

Both values (optionally) set (forced) by VTY and the values received
from PCUIF were stored in the same variable, meaning that for instance
the PCUIF values wouldn't really be used if someone applied eg "no cs"
during runtime.

This commit does something similar to what was already done for the
max_(m)cs fields. We store PCUIF values in one place and VTY ones in
another place, and then trigger a bts object internal process to find
out exactly which initial CS should it be using.

Change-Id: I80a6ba401f9c0c85bdf6e0cc99a9d2008d31e1b0
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index 4a6c53e..a11ec7e 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -631,37 +631,13 @@
 
 	LOGP(DL1IF, LOGL_DEBUG, " initial_cs=%u%s\n", info_ind->initial_cs,
 	     the_pcu->vty.force_initial_cs ? " (VTY forced, ignoring)" : "");
-	if (!the_pcu->vty.force_initial_cs) {
-		if (info_ind->initial_cs > bts->bts->max_cs_dl()) {
-			LOGP(DL1IF, LOGL_DEBUG, " downgrading initial_cs_dl to %d\n", bts->bts->max_cs_dl());
-			bts->initial_cs_dl = bts->bts->max_cs_dl();
-		} else {
-			bts->initial_cs_dl =  info_ind->initial_cs;
-		}
-		if (info_ind->initial_cs > bts->bts->max_cs_ul()) {
-			LOGP(DL1IF, LOGL_DEBUG, " downgrading initial_cs_ul to %d\n", bts->bts->max_cs_ul());
-			bts->initial_cs_ul = bts->bts->max_cs_ul();
-		} else {
-			bts->initial_cs_ul =  info_ind->initial_cs;
-		}
-	}
+	bts->pcuif_info_ind.initial_cs = info_ind->initial_cs;
+	bts_recalc_initial_cs(bts);
 
 	LOGP(DL1IF, LOGL_DEBUG, " initial_mcs=%u%s\n", info_ind->initial_mcs,
 	     the_pcu->vty.force_initial_mcs ? " (VTY forced, ignoring)" : "");
-	if (!the_pcu->vty.force_initial_mcs) {
-		if (info_ind->initial_mcs > bts->bts->max_mcs_dl()) {
-			LOGP(DL1IF, LOGL_DEBUG, " downgrading initial_mcs_dl to %d\n", bts->bts->max_mcs_dl());
-			bts->initial_mcs_dl = bts->bts->max_mcs_dl();
-		} else {
-			bts->initial_mcs_dl =  info_ind->initial_mcs;
-		}
-		if (info_ind->initial_mcs > bts->bts->max_mcs_ul()) {
-			LOGP(DL1IF, LOGL_DEBUG, " downgrading initial_mcs_ul to %d\n", bts->bts->max_mcs_ul());
-			bts->initial_mcs_ul = bts->bts->max_mcs_ul();
-		} else {
-			bts->initial_mcs_ul =  info_ind->initial_mcs;
-		}
-	}
+	bts->pcuif_info_ind.initial_mcs = info_ind->initial_mcs;
+	bts_recalc_initial_mcs(bts);
 
 	pcu = gprs_bssgp_init(
 			bts,