<p>fixeria has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/15933">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">osmo_bsc_main.c: simplify computation of CCCH_CONFIG<br><br>Change-Id: I1430500999389e9b30e55ea89a8a5ea5071f7957<br>---<br>M src/osmo-bsc/osmo_bsc_main.c<br>1 file changed, 10 insertions(+), 23 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/33/15933/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c</span><br><span>index bf9358f..abfb1bb 100644</span><br><span>--- a/src/osmo-bsc/osmo_bsc_main.c</span><br><span>+++ b/src/osmo-bsc/osmo_bsc_main.c</span><br><span>@@ -402,7 +402,7 @@</span><br><span> static int bootstrap_bts(struct gsm_bts *bts)</span><br><span> {</span><br><span>     struct gsm_bts_trx *trx;</span><br><span style="color: hsl(0, 100%, 40%);">-        int i, n;</span><br><span style="color: hsl(120, 100%, 40%);">+     unsigned int n = 0;</span><br><span> </span><br><span>      if (!bts->model)</span><br><span>          return -EFAULT;</span><br><span>@@ -458,16 +458,13 @@</span><br><span> </span><br><span>  /* Control Channel Description is set from vty/config */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    /* Set ccch config by looking at ts config */</span><br><span style="color: hsl(0, 100%, 40%);">-   for (n=0, i=0; i<8; i++)</span><br><span style="color: hsl(0, 100%, 40%);">-             n += bts->c0->ts[i].pchan_is == GSM_PCHAN_CCCH ? 1 : 0;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>        /* Indicate R99 MSC in SI3 */</span><br><span>        bts->si_common.chan_desc.mscr = 1;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       switch (n) {</span><br><span style="color: hsl(0, 100%, 40%);">-    case 0:</span><br><span style="color: hsl(120, 100%, 40%);">+       /* Determine the value of CCCH_CONF. Is TS0/C0 combined? */</span><br><span style="color: hsl(120, 100%, 40%);">+   if (bts->c0->ts[0].pchan_is != GSM_PCHAN_CCCH) {</span><br><span>               bts->si_common.chan_desc.ccch_conf = RSL_BCCH_CCCH_CONF_1_C;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>            /* Limit reserved block to 2 on combined channel according to</span><br><span>                   3GPP TS 44.018 Table 10.5.2.11.1 */</span><br><span>               if (bts->si_common.chan_desc.bs_ag_blks_res > 2) {</span><br><span>@@ -476,22 +473,12 @@</span><br><span>                          bts->si_common.chan_desc.bs_ag_blks_res);</span><br><span>                    bts->si_common.chan_desc.bs_ag_blks_res = 2;</span><br><span>              }</span><br><span style="color: hsl(0, 100%, 40%);">-               break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case 1:</span><br><span style="color: hsl(0, 100%, 40%);">-         bts->si_common.chan_desc.ccch_conf = RSL_BCCH_CCCH_CONF_1_NC;</span><br><span style="color: hsl(0, 100%, 40%);">-                break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case 2:</span><br><span style="color: hsl(0, 100%, 40%);">-         bts->si_common.chan_desc.ccch_conf = RSL_BCCH_CCCH_CONF_2_NC;</span><br><span style="color: hsl(0, 100%, 40%);">-                break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case 3:</span><br><span style="color: hsl(0, 100%, 40%);">-         bts->si_common.chan_desc.ccch_conf = RSL_BCCH_CCCH_CONF_3_NC;</span><br><span style="color: hsl(0, 100%, 40%);">-                break;</span><br><span style="color: hsl(0, 100%, 40%);">-  case 4:</span><br><span style="color: hsl(0, 100%, 40%);">-         bts->si_common.chan_desc.ccch_conf = RSL_BCCH_CCCH_CONF_4_NC;</span><br><span style="color: hsl(0, 100%, 40%);">-                break;</span><br><span style="color: hsl(0, 100%, 40%);">-  default:</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DNM, LOGL_ERROR, "Unsupported CCCH timeslot configuration\n");</span><br><span style="color: hsl(0, 100%, 40%);">-           return -EINVAL;</span><br><span style="color: hsl(120, 100%, 40%);">+       } else { /* Non-combined TS0/C0 configuration */</span><br><span style="color: hsl(120, 100%, 40%);">+              /* There can be additional CCCHs on even timeslot numbers */</span><br><span style="color: hsl(120, 100%, 40%);">+          n += (bts->c0->ts[2].pchan_is == GSM_PCHAN_CCCH);</span><br><span style="color: hsl(120, 100%, 40%);">+               n += (bts->c0->ts[4].pchan_is == GSM_PCHAN_CCCH);</span><br><span style="color: hsl(120, 100%, 40%);">+               n += (bts->c0->ts[6].pchan_is == GSM_PCHAN_CCCH);</span><br><span style="color: hsl(120, 100%, 40%);">+               bts->si_common.chan_desc.ccch_conf = (n << 1);</span><br><span>      }</span><br><span> </span><br><span>        bts->si_common.cell_options.pwrc = 0; /* PWRC not set */</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/15933">change 15933</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-bsc/+/15933"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I1430500999389e9b30e55ea89a8a5ea5071f7957 </div>
<div style="display:none"> Gerrit-Change-Number: 15933 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>