 
            dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/34575?usp=email )
Change subject: gprs_rlcmac_sched: check if we really use direct phy ......................................................................
gprs_rlcmac_sched: check if we really use direct phy
In gprs_rlcmac_sched we have a flag to skip idle frames in case do not use the so called "direct phy access".
Unfortunately the check is not done correctly. The flag gets set when the ENABLE_DIRECT_PHY define constant is set. However, this does not say much about whether we access a PHY directly or not. The define constant is intended to be used to disable direct phy related code in on platforms where no direct phy code is used or cannot be used.
In order to know if we actually accessing a PHY directly we must check the presence of fl1h on the related TRX. (see also pcu_l1_if.cpp, function pcu_l1if_tx_pdtch)
Related: OS#6191 Change-Id: I0808950b1154bbb9a789c3f706ad9fb6618764ec --- M src/gprs_rlcmac_sched.cpp 1 file changed, 28 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/75/34575/1
diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 314fd58..214ea45 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -488,9 +488,11 @@ + pdch->num_tbfs(GPRS_RLCMAC_UL_TBF); bool skip_idle = (num_tbfs == 0); #ifdef ENABLE_DIRECT_PHY - /* In DIRECT_PHY mode we want to always submit something to L1 in - * TRX0, since BTS is not preparing dummy bursts on idle TS for us */ - skip_idle = skip_idle && trx != 0; + if (bts->trx[trx].fl1h) { + /* In DIRECT_PHY mode we want to always submit something to L1 in + * TRX0, since BTS is not preparing dummy bursts on idle TS for us */ + skip_idle = skip_idle && trx != 0; + } #endif if (!skip_idle && (msg = sched_dummy())) { /* increase counter */