<p>Max has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/13355">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">trxcon: use static helper to prepare FBSB<br><br>Use static helper to prepare l1ctl_fbsb_conf - this simplifies<br>fbsb-related functions and make difference between timer callback and<br>regular response more obvious.<br><br>Change-Id: I43832d6a912a32ea5795ed0110981e0b714a7a61<br>---<br>M src/host/trxcon/l1ctl.c<br>1 file changed, 17 insertions(+), 13 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/55/13355/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c</span><br><span>index 0541f58..d445f39 100644</span><br><span>--- a/src/host/trxcon/l1ctl.c</span><br><span>+++ b/src/host/trxcon/l1ctl.c</span><br><span>@@ -151,6 +151,19 @@</span><br><span>    return dl;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* Fill in FBSB payload: BSIC and sync result */</span><br><span style="color: hsl(120, 100%, 40%);">+static struct l1ctl_fbsb_conf *fbsb_conf_make(struct msgb *msg, uint8_t result, uint8_t bsic)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+       struct l1ctl_fbsb_conf *conf = (struct l1ctl_fbsb_conf *) msgb_put(msg, sizeof(*conf));</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     LOGP(DL1C, LOGL_DEBUG, "Send FBSB Conf (result=%u, bsic=%u)\n", result, bsic);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    conf->result = result;</span><br><span style="color: hsl(120, 100%, 40%);">+     conf->bsic = bsic;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       return conf;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> int l1ctl_tx_fbsb_conf(struct l1ctl_link *l1l, uint8_t result,</span><br><span>  struct l1ctl_info_dl *dl_info, uint8_t bsic)</span><br><span> {</span><br><span>@@ -161,16 +174,10 @@</span><br><span>    if (msg == NULL)</span><br><span>             return -ENOMEM;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     LOGP(DL1C, LOGL_DEBUG, "Send FBSB Conf (result=%u, bsic=%u)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-               result, bsic);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>       add_info_dl(msg, dl_info);</span><br><span>   talloc_free(dl_info);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-       /* Fill in FBSB payload: BSIC and sync result */</span><br><span style="color: hsl(0, 100%, 40%);">-        conf = (struct l1ctl_fbsb_conf *) msgb_put(msg, sizeof(*conf));</span><br><span style="color: hsl(0, 100%, 40%);">- conf->result = result;</span><br><span style="color: hsl(0, 100%, 40%);">-       conf->bsic = bsic;</span><br><span style="color: hsl(120, 100%, 40%);">+ conf = fbsb_conf_make(msg, result, bsic);</span><br><span> </span><br><span>        /* FIXME: set proper value */</span><br><span>        conf->initial_freq_err = 0;</span><br><span>@@ -287,7 +294,6 @@</span><br><span> static void fbsb_timer_cb(void *data)</span><br><span> {</span><br><span>   struct l1ctl_link *l1l = (struct l1ctl_link *) data;</span><br><span style="color: hsl(0, 100%, 40%);">-    struct l1ctl_fbsb_conf *conf;</span><br><span>        struct l1ctl_info_dl *dl;</span><br><span>    struct msgb *msg;</span><br><span> </span><br><span>@@ -295,17 +301,14 @@</span><br><span>        if (msg == NULL)</span><br><span>             return;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     LOGP(DL1C, LOGL_DEBUG, "Send FBSB Conf (result=255, bsic=0)\n");</span><br><span style="color: hsl(120, 100%, 40%);">+    LOGP(DL1C, LOGL_NOTICE, "FBSB timer fired for ARFCN %u\n", l1l->trx->band_arfcn);</span><br><span> </span><br><span>        dl = add_info_dl(msg, NULL);</span><br><span> </span><br><span>     /* Fill in current ARFCN */</span><br><span>  dl->band_arfcn = htons(l1l->trx->band_arfcn);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      /* Fill in FBSB payload: BSIC and sync result */</span><br><span style="color: hsl(0, 100%, 40%);">-        conf = (struct l1ctl_fbsb_conf *) msgb_put(msg, sizeof(*conf));</span><br><span style="color: hsl(0, 100%, 40%);">- conf->result = 255;</span><br><span style="color: hsl(0, 100%, 40%);">-  conf->bsic = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+    fbsb_conf_make(msg, 255, 0);</span><br><span> </span><br><span>     /* Ask SCH handler not to send L1CTL_FBSB_CONF anymore */</span><br><span>    l1l->fbsb_conf_sent = true;</span><br><span>@@ -361,6 +364,7 @@</span><br><span>         /* Start FBSB expire timer */</span><br><span>        l1l->fbsb_timer.data = l1l;</span><br><span>       l1l->fbsb_timer.cb = fbsb_timer_cb;</span><br><span style="color: hsl(120, 100%, 40%);">+        LOGP(DL1C, LOGL_NOTICE, "Starting FBSB timer %uus\n", timeout * FRAME_DURATION_uS);</span><br><span>        osmo_timer_schedule(&l1l->fbsb_timer, 0,</span><br><span>              timeout * FRAME_DURATION_uS);</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13355">change 13355</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/13355"/><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: I43832d6a912a32ea5795ed0110981e0b714a7a61 </div>
<div style="display:none"> Gerrit-Change-Number: 13355 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Max <msuraev@sysmocom.de> </div>