<p>pespin <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bts/+/18910">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  pespin: Looks good to me, approved
  fixeria: Looks good to me, but someone else must approve
  neels: Looks good to me, but someone else must approve

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">bts-trx: Split part of bts_model_trx_close() steps into bts_model_deact_rf<br><br>bts_model_trx_close is only called during bts_shutdown immediately after<br>bts_model_deact_rf, so its logic keeps being essentially the same after<br>this code movement.<br><br>On the other hand, bts_model_deact_rf is also called during RSL link<br>establishment if it failed for whatever reason in<br>bts.c:trx_link_estab(). In that case, we want to make sure the TRX is<br>not used so we need to implement bts_model_deact_rf.<br><br>Change-Id: Id4eae743da81773a04b82e7b454071b0cc66677a<br>---<br>M src/osmo-bts-trx/l1_if.c<br>1 file changed, 17 insertions(+), 7 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c</span><br><span>index ea3dcfa..2aa27a7 100644</span><br><span>--- a/src/osmo-bts-trx/l1_if.c</span><br><span>+++ b/src/osmo-bts-trx/l1_if.c</span><br><span>@@ -396,8 +396,8 @@</span><br><span>  return oml_mo_opstart_ack(&trx->mo);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-/* deactivate transceiver */</span><br><span style="color: hsl(0, 100%, 40%);">-int bts_model_trx_close(struct gsm_bts_trx *trx)</span><br><span style="color: hsl(120, 100%, 40%);">+/* Deact RF on transceiver */</span><br><span style="color: hsl(120, 100%, 40%);">+int bts_model_trx_deact_rf(struct gsm_bts_trx *trx)</span><br><span> {</span><br><span>    struct phy_instance *pinst = trx_phy_instance(trx);</span><br><span>  struct trx_l1h *l1h = pinst->u.osmotrx.hdl;</span><br><span>@@ -411,6 +411,21 @@</span><br><span>            pchan == GSM_PCHAN_CCCH_SDCCH4_CBCH) {</span><br><span>           lchan_set_state(&trx->ts[0].lchan[CCCH_LCHAN], LCHAN_S_INACTIVE);</span><br><span>     }</span><br><span style="color: hsl(120, 100%, 40%);">+     /* FIXME: There's currently no way to communicate to osmo-trx through</span><br><span style="color: hsl(120, 100%, 40%);">+      * TRXC that a specific TRX processing shall be paused. Let's simply</span><br><span style="color: hsl(120, 100%, 40%);">+       * make sure that at least we don't transmit with power on it by setting</span><br><span style="color: hsl(120, 100%, 40%);">+   * a rather low value:</span><br><span style="color: hsl(120, 100%, 40%);">+         */</span><br><span style="color: hsl(120, 100%, 40%);">+   power_ramp_start(trx, to_mdB(-10), 1, NULL);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        return 0;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* deactivate transceiver */</span><br><span style="color: hsl(120, 100%, 40%);">+int bts_model_trx_close(struct gsm_bts_trx *trx)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+     struct phy_instance *pinst = trx_phy_instance(trx);</span><br><span style="color: hsl(120, 100%, 40%);">+   struct trx_l1h *l1h = pinst->u.osmotrx.hdl;</span><br><span> </span><br><span>   /* power off transceiver, if not already */</span><br><span>  if (l1h->config.enabled) {</span><br><span>@@ -846,11 +861,6 @@</span><br><span>         return oml_mo_statechg_ack(mo);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-int bts_model_trx_deact_rf(struct gsm_bts_trx *trx)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-    return 0;</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> int bts_model_oml_estab(struct gsm_bts *bts)</span><br><span> {</span><br><span>      return 0;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bts/+/18910">change 18910</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-bts/+/18910"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bts </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Id4eae743da81773a04b82e7b454071b0cc66677a </div>
<div style="display:none"> Gerrit-Change-Number: 18910 </div>
<div style="display:none"> Gerrit-PatchSet: 5 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>