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
This commit is contained in:
Pau Espin 2021-09-17 17:35:34 +02:00
parent 402451b308
commit 0e3083daf5
1 changed files with 7 additions and 1 deletions

View File

@ -498,7 +498,13 @@ int gprs_rlcmac_rcv_rts_block(struct gprs_rlcmac_bts *bts,
*/
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 */