scheduler: Skip Tx DL idle blocks in TRX0 when not in DIRECT_PHY mode

We also want to avoid sending idle blocs in TRX0 to the BTS, so that the
BTS can be aware of blocks being idle and then submitting dummy blokcs
by itself applying required BCCH Carrier power reduction.

Related: SYS#4919
Change-Id: Idd58d2a09c3947098b960cfcb5cd1b7b7bca3d84
diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp
index 08f43cd..405b7db 100644
--- a/src/gprs_rlcmac_sched.cpp
+++ b/src/gprs_rlcmac_sched.cpp
@@ -498,7 +498,13 @@
 		 */
 		const unsigned num_tbfs = pdch->num_tbfs(GPRS_RLCMAC_DL_TBF)
 					+ pdch->num_tbfs(GPRS_RLCMAC_UL_TBF);
-		if (trx != 0 && num_tbfs == 0)
+		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;
+#endif
+		if (skip_idle)
 			return 0;
 		if ((msg = sched_dummy())) {
 			/* increase counter */