dexter has uploaded this change for review.
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 */
To view, visit change 34575. To unsubscribe, or for help writing mail filters, visit settings.