From 1a66c2991cbd90e5bdc51bfcfcfcd851b4abb2a3 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Thu, 30 May 2019 03:59:16 +0700 Subject: trxcon/scheduler: move PRIM_IS[_EXT]_RACH macros to sched_trx.h Both PRIM_IS_RACH() and PRIM_IS_EXT_RACH() macros to be used for handover RACH detection in the follow up changes, thus we need have them widely available. Let's also give them better names: PRIM_IS_EXT_RACH -> PRIM_IS_RACH11 PRIM_IS_RACH -> PRIM_IS_RACH8 and introduce a new generic one for checking whether a given primitive is RACH in general (either 8-bit or 11-bit) or not. Change-Id: Ibc39c57fda000647be1829786f6423dcf3f435cd --- src/host/trxcon/sched_lchan_rach.c | 12 +++--------- src/host/trxcon/sched_trx.h | 10 ++++++++++ 2 files changed, 13 insertions(+), 9 deletions(-) (limited to 'src/host') diff --git a/src/host/trxcon/sched_lchan_rach.c b/src/host/trxcon/sched_lchan_rach.c index 565d6932..7d202b89 100644 --- a/src/host/trxcon/sched_lchan_rach.c +++ b/src/host/trxcon/sched_lchan_rach.c @@ -40,12 +40,6 @@ #include "trx_if.h" #include "l1ctl.h" -/* FIXME: we need a better way to identify / distinguish primitives */ -#define PRIM_IS_EXT_RACH(prim) \ - (prim->payload_len == sizeof(struct l1ctl_ext_rach_req)) -#define PRIM_IS_RACH(prim) \ - (prim->payload_len == sizeof(struct l1ctl_rach_req)) - /* 3GPP TS 05.02, section 5.2.7 "Access burst (AB)" */ #define RACH_EXT_TAIL_BITS_LEN 8 #define RACH_SYNCH_SEQ_LEN 41 @@ -94,7 +88,7 @@ int tx_rach_fn(struct trx_instance *trx, struct trx_ts *ts, int i, rc; /* Is it extended (11-bit) RACH or not? */ - if (PRIM_IS_EXT_RACH(lchan->prim)) { + if (PRIM_IS_RACH11(lchan->prim)) { ext_req = (struct l1ctl_ext_rach_req *) lchan->prim->payload; synch_seq = ext_req->synch_seq; @@ -120,7 +114,7 @@ int tx_rach_fn(struct trx_instance *trx, struct trx_ts *ts, sched_prim_drop(lchan); return rc; } - } else if (PRIM_IS_RACH(lchan->prim)) { + } else if (PRIM_IS_RACH8(lchan->prim)) { req = (struct l1ctl_rach_req *) lchan->prim->payload; synch_seq = RACH_SYNCH_SEQ_TS0; @@ -162,7 +156,7 @@ int tx_rach_fn(struct trx_instance *trx, struct trx_ts *ts, memset(burst_ptr, 0, burst + GSM_BURST_LEN - burst_ptr); LOGP(DSCHD, LOGL_DEBUG, "Transmitting %s RACH (%s) fn=%u\n", - PRIM_IS_EXT_RACH(lchan->prim) ? "extended (11-bit)" : "regular (8-bit)", + PRIM_IS_RACH11(lchan->prim) ? "extended (11-bit)" : "regular (8-bit)", get_value_string(rach_synch_seq_names, synch_seq), fn); /* Forward burst to scheduler */ diff --git a/src/host/trxcon/sched_trx.h b/src/host/trxcon/sched_trx.h index fcb78a79..6ef9ce47 100644 --- a/src/host/trxcon/sched_trx.h +++ b/src/host/trxcon/sched_trx.h @@ -309,6 +309,16 @@ int sched_prim_push(struct trx_instance *trx, #define CHAN_IS_SACCH(chan) \ (trx_lchan_desc[chan].link_id & TRX_CH_LID_SACCH) +/* FIXME: we need a better way to identify / distinguish primitives */ +#define PRIM_IS_RACH11(prim) \ + (prim->payload_len == sizeof(struct l1ctl_ext_rach_req)) + +#define PRIM_IS_RACH8(prim) \ + (prim->payload_len == sizeof(struct l1ctl_rach_req)) + +#define PRIM_IS_RACH(prim) \ + (PRIM_IS_RACH8(prim) || PRIM_IS_RACH11(prim)) + #define PRIM_IS_TCH(prim) \ (CHAN_IS_TCH(prim->chan) && prim->payload_len != GSM_MACBLOCK_LEN) -- cgit v1.2.3