<p>Vadim Yanitskiy has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/11183">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">l1ctl_proto.h: extend ccch_mode enum with CBCH<br><br>According to GSM TS 05.02, there are two ways to enable CBCH:<br><br>  a) replace sub-slot number 2 of CCCH+SDCCH/4 (comb. V),<br>  b) replace sub-slot number 2 of SDCCH/8 (comb. VII).<br><br>Unlike SDCCH/8 (case b), CCCH+SDCCH/4 can be allocated on TS0<br>only, and shall not use frequency hopping. This means that<br>implementing CBCH support on SDCCH/8 would require much more<br>efforts than on combined CCCH+SDCCH/4, as in last case CBCH<br>messages can be received without the need to switch from<br>idle to dedicated mode.<br><br>This change introduces a new ccch_mode item, which should be<br>used by the higher layers to indicate presence of CBCH channel<br>on C0/TS0, so the PHY would enable decoding of CBCH messages<br>on CCCH+SDCCH/4 (case a) in idle mode.<br><br>Regarding to CBCH on SDCCH/8 (case b), it makes sense to<br>extend the 'l1ctl_dm_est_req', so it would be handled in<br>dedicated mode on request from the higher layers.<br><br>Change-Id: Ia94ebf22a2ec439dfe1f31d703b832ae57b48ef2<br>---<br>M include/l1ctl_proto.h<br>M src/host/trxcon/l1ctl.c<br>M src/target/firmware/layer1/l23_api.c<br>M src/target/firmware/layer1/prim_fbsb.c<br>4 files changed, 11 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/83/11183/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/l1ctl_proto.h b/include/l1ctl_proto.h</span><br><span>index 9d548bc..f1bff86 100644</span><br><span>--- a/include/l1ctl_proto.h</span><br><span>+++ b/include/l1ctl_proto.h</span><br><span>@@ -70,6 +70,7 @@</span><br><span>     CCCH_MODE_NONE = 0,</span><br><span>  CCCH_MODE_NON_COMBINED,</span><br><span>      CCCH_MODE_COMBINED,</span><br><span style="color: hsl(120, 100%, 40%);">+   CCCH_MODE_COMBINED_CBCH,</span><br><span> };</span><br><span> </span><br><span> enum neigh_mode {</span><br><span>diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c</span><br><span>index f7f48af..83cdc2e 100644</span><br><span>--- a/src/host/trxcon/l1ctl.c</span><br><span>+++ b/src/host/trxcon/l1ctl.c</span><br><span>@@ -264,9 +264,10 @@</span><br><span>      case CCCH_MODE_NONE:</span><br><span>                 return GSM_PCHAN_CCCH;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      /* TODO: distinguish CBCH */</span><br><span>         case CCCH_MODE_COMBINED:</span><br><span>             return GSM_PCHAN_CCCH_SDCCH4;</span><br><span style="color: hsl(120, 100%, 40%);">+ case CCCH_MODE_COMBINED_CBCH:</span><br><span style="color: hsl(120, 100%, 40%);">+         return GSM_PCHAN_CCCH_SDCCH4_CBCH;</span><br><span> </span><br><span>       default:</span><br><span>             LOGP(DL1C, LOGL_NOTICE, "Undandled CCCH mode (%u), "</span><br><span>diff --git a/src/target/firmware/layer1/l23_api.c b/src/target/firmware/layer1/l23_api.c</span><br><span>index e46ca09..311c521 100644</span><br><span>--- a/src/target/firmware/layer1/l23_api.c</span><br><span>+++ b/src/target/firmware/layer1/l23_api.c</span><br><span>@@ -479,6 +479,10 @@</span><br><span>           mframe_enable(MF_TASK_CCCH_COMB);</span><br><span>    else if (ccch_mode == CCCH_MODE_NON_COMBINED)</span><br><span>                mframe_enable(MF_TASK_CCCH);</span><br><span style="color: hsl(120, 100%, 40%);">+  else if (ccch_mode == CCCH_MODE_COMBINED_CBCH) {</span><br><span style="color: hsl(120, 100%, 40%);">+              mframe_enable(MF_TASK_CCCH_COMB);</span><br><span style="color: hsl(120, 100%, 40%);">+             mframe_enable(MF_TASK_SDCCH4_CBCH);</span><br><span style="color: hsl(120, 100%, 40%);">+   }</span><br><span> </span><br><span>        l1ctl_tx_ccch_mode_conf(ccch_mode);</span><br><span> }</span><br><span>diff --git a/src/target/firmware/layer1/prim_fbsb.c b/src/target/firmware/layer1/prim_fbsb.c</span><br><span>index 9eb56c6..50acefc 100644</span><br><span>--- a/src/target/firmware/layer1/prim_fbsb.c</span><br><span>+++ b/src/target/firmware/layer1/prim_fbsb.c</span><br><span>@@ -262,6 +262,10 @@</span><br><span>                 mframe_enable(MF_TASK_CCCH_COMB);</span><br><span>    else if (l1s.serving_cell.ccch_mode == CCCH_MODE_NON_COMBINED)</span><br><span>               mframe_enable(MF_TASK_CCCH);</span><br><span style="color: hsl(120, 100%, 40%);">+  else if (l1s.serving_cell.ccch_mode == CCCH_MODE_COMBINED_CBCH) {</span><br><span style="color: hsl(120, 100%, 40%);">+             mframe_enable(MF_TASK_CCCH_COMB);</span><br><span style="color: hsl(120, 100%, 40%);">+             mframe_enable(MF_TASK_SDCCH4_CBCH);</span><br><span style="color: hsl(120, 100%, 40%);">+   }</span><br><span> </span><br><span>        l1s_compl_sched(L1_COMPL_FB);</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/11183">change 11183</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/11183"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmocom-bb </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Ia94ebf22a2ec439dfe1f31d703b832ae57b48ef2 </div>
<div style="display:none"> Gerrit-Change-Number: 11183 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Vadim Yanitskiy <axilirator@gmail.com> </div>