<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/14216">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  Harald Welte: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">firmware/scheduler: Fix CBCH related RSL channel numbers<br><br>CBCH support in the firmware has been introduced almost at the same<br>time it was implemented in trxcon, and the same mistake was made<br>as described in Ia9a415628c659cbc2dd5dc65b875b7f935d6e211.<br><br>Despite Calypso based PHY does not support PDCH (GPRS channels),<br>let's avoid collisions and use the following cbits values:<br><br>  0x19 / 0b11001 - MF_TASK_SDCCH4_CBCH on GSM_DCHAN_SDCCH_4_CBCH,<br>  0x1a / 0b11010 - MF_TASK_SDCCH8_CBCH on GSM_DCHAN_SDCCH_8_CBCH.<br><br>Change-Id: Ibb0f90695460e6ede12016c12a0cfdf9c74dfb24<br>Related: OS#4027<br>---<br>M src/target/firmware/layer1/l23_api.c<br>M src/target/firmware/layer1/mframe_sched.c<br>2 files changed, 15 insertions(+), 10 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/target/firmware/layer1/l23_api.c b/src/target/firmware/layer1/l23_api.c</span><br><span>index daffaf8..e78020d 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>@@ -97,10 +97,13 @@</span><br><span>                lch_idx = cbits & 0x7;</span><br><span>           master_task = MF_TASK_SDCCH8_0 + lch_idx;</span><br><span>            multiframe = MF51;</span><br><span style="color: hsl(0, 100%, 40%);">-      } else if ((cbits & 0x1e) == 0x18) {</span><br><span style="color: hsl(0, 100%, 40%);">-                /* Osmocom specific extension for CBCH */</span><br><span style="color: hsl(0, 100%, 40%);">-               master_task = (cbits & 0x01) ? /* 0b1100T */</span><br><span style="color: hsl(0, 100%, 40%);">-                        MF_TASK_SDCCH4_CBCH : MF_TASK_SDCCH8_CBCH;</span><br><span style="color: hsl(120, 100%, 40%);">+    } else if ((cbits & 0x1f) == 0x19) {</span><br><span style="color: hsl(120, 100%, 40%);">+              /* Osmocom specific extension for CBCH on SDCCH/4 */</span><br><span style="color: hsl(120, 100%, 40%);">+          master_task = MF_TASK_SDCCH4_CBCH;</span><br><span style="color: hsl(120, 100%, 40%);">+            multiframe = MF51;</span><br><span style="color: hsl(120, 100%, 40%);">+    } else if ((cbits & 0x1f) == 0x1a) {</span><br><span style="color: hsl(120, 100%, 40%);">+              /* Osmocom specific extension for CBCH on SDCCH/8 */</span><br><span style="color: hsl(120, 100%, 40%);">+          master_task = MF_TASK_SDCCH8_CBCH;</span><br><span>           multiframe = MF51;</span><br><span> #if 0</span><br><span>  } else if (cbits == 0x10) {</span><br><span>@@ -141,10 +144,12 @@</span><br><span>          return GSM_DCHAN_SDCCH_4;</span><br><span>    } else if ((cbits & 0x18) == 0x08) {</span><br><span>             return GSM_DCHAN_SDCCH_8;</span><br><span style="color: hsl(0, 100%, 40%);">-       } else if ((cbits & 0x1e) == 0x18) {</span><br><span style="color: hsl(0, 100%, 40%);">-                /* Osmocom-specific extension for CBCH */</span><br><span style="color: hsl(0, 100%, 40%);">-               return (cbits & 0x01) ? /* 0b1100T */</span><br><span style="color: hsl(0, 100%, 40%);">-                       GSM_DCHAN_SDCCH_8_CBCH : GSM_DCHAN_SDCCH_4_CBCH;</span><br><span style="color: hsl(120, 100%, 40%);">+      } else if ((cbits & 0x1f) == 0x19) {</span><br><span style="color: hsl(120, 100%, 40%);">+              /* Osmocom-specific extension for CBCH on SDCCH/4 */</span><br><span style="color: hsl(120, 100%, 40%);">+          return GSM_DCHAN_SDCCH_4_CBCH;</span><br><span style="color: hsl(120, 100%, 40%);">+        } else if ((cbits & 0x1f) == 0x1a) {</span><br><span style="color: hsl(120, 100%, 40%);">+              /* Osmocom-specific extension for CBCH on SDCCH/8 */</span><br><span style="color: hsl(120, 100%, 40%);">+          return GSM_DCHAN_SDCCH_8_CBCH;</span><br><span>       }</span><br><span> </span><br><span>        return GSM_DCHAN_UNKNOWN;</span><br><span>diff --git a/src/target/firmware/layer1/mframe_sched.c b/src/target/firmware/layer1/mframe_sched.c</span><br><span>index 7fa38c1..9c2954c 100644</span><br><span>--- a/src/target/firmware/layer1/mframe_sched.c</span><br><span>+++ b/src/target/firmware/layer1/mframe_sched.c</span><br><span>@@ -416,10 +416,10 @@</span><br><span> </span><br><span>       /* Osmocom specific extensions */</span><br><span>    case MF_TASK_SDCCH4_CBCH:</span><br><span style="color: hsl(0, 100%, 40%);">-               cbits = 0x18;</span><br><span style="color: hsl(120, 100%, 40%);">+         cbits = 0x19;</span><br><span>                break;</span><br><span>       case MF_TASK_SDCCH8_CBCH:</span><br><span style="color: hsl(0, 100%, 40%);">-               cbits = 0x19;</span><br><span style="color: hsl(120, 100%, 40%);">+         cbits = 0x1a;</span><br><span>                break;</span><br><span> </span><br><span>   case MF_TASK_UL_ALL_NB:</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/14216">change 14216</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/14216"/><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: merged </div>
<div style="display:none"> Gerrit-Change-Id: Ibb0f90695460e6ede12016c12a0cfdf9c74dfb24 </div>
<div style="display:none"> Gerrit-Change-Number: 14216 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Vadim Yanitskiy <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>