aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-trx/trx_if.c
diff options
context:
space:
mode:
authorVadim Yanitskiy <axilirator@gmail.com>2019-11-06 17:33:31 +0700
committerlaforge <laforge@osmocom.org>2019-11-19 01:01:45 +0000
commitb37b3263a917aa554f99315e847f5accc470e10b (patch)
tree63a1f7ad18aa79c3c2afe4caf5e1f3905b6ed8fc /src/osmo-bts-trx/trx_if.c
parentc693067b7e99a643da673cb3e2a36162cbd0f59c (diff)
osmo-bts-trx: general handling of NOPE / IDLE indications
Each logical channel can now optionally have an additional handler, that will be called when a NOPE / IDLE indication is received from the transceiver. The aim of that handler is to keep the logical channel state updated in case if one or more Uplink bursts are lost. Change-Id: I71c552f44c25e56e9779d8b8ef5d4de9f8475637 Related: OS#3428
Diffstat (limited to 'src/osmo-bts-trx/trx_if.c')
-rw-r--r--src/osmo-bts-trx/trx_if.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c
index 920f441f..dbf78058 100644
--- a/src/osmo-bts-trx/trx_if.c
+++ b/src/osmo-bts-trx/trx_if.c
@@ -1018,14 +1018,8 @@ static int trx_data_read_cb(struct osmo_fd *ofd, unsigned int what)
if (hdr_len < 0)
return hdr_len;
- /* TODO: we can use NOPE indications to get noise levels on IDLE
- * TDMA frames, and properly drive scheduler if nothing has been
- * detected on non-IDLE channels. */
- if (bi.flags & TRX_BI_F_NOPE_IND) {
- LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG,
- "IDLE / NOPE indications are not (yet) supported\n");
- return -ENOTSUP;
- }
+ if (bi.flags & TRX_BI_F_NOPE_IND)
+ goto skip_burst;
/* We're done with the header now */
buf_len -= hdr_len;
@@ -1047,6 +1041,7 @@ static int trx_data_read_cb(struct osmo_fd *ofd, unsigned int what)
if (rc < 0)
return rc;
+skip_burst:
/* Print header & burst info */
LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, "Rx %s (hdr_ver=%u): %s\n",
(bi.flags & TRX_BI_F_NOPE_IND) ? "NOPE.ind" : "UL burst",