mirror of
https://gerrit.osmocom.org/osmo-gbproxy
synced 2024-08-21 18:36:25 +00:00
TSC: Add new gsm_ts_tsc() function to resolve TSC of TS
We don't want every caller to check for ts->tsc == -1 and then using ts->trx->bts->tsc instead. Rather, introduce a new inline function to retrieve the correct value.
This commit is contained in:
parent
499cd25666
commit
025e6c9e66
4 changed files with 11 additions and 14 deletions
|
@ -769,6 +769,13 @@ uint8_t gsm_lchan2chan_nr(const struct gsm_lchan *lchan);
|
|||
int gsm_parse_reg(void *ctx, regex_t *reg, char **str,
|
||||
int argc, const char **argv) __attribute__ ((warn_unused_result));
|
||||
|
||||
static inline uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts)
|
||||
{
|
||||
if (ts->tsc != -1)
|
||||
return ts->tsc;
|
||||
else
|
||||
return ts->trx->bts->tsc;
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1678,10 +1678,7 @@ int abis_nm_set_channel_attr(struct gsm_bts_trx_ts *ts, uint8_t chan_comb)
|
|||
}
|
||||
}
|
||||
}
|
||||
if (ts->tsc == -1)
|
||||
msgb_tv_put(msg, NM_ATT_TSC, bts->tsc); /* training sequence */
|
||||
else
|
||||
msgb_tv_put(msg, NM_ATT_TSC, ts->tsc); /* training sequence */
|
||||
msgb_tv_put(msg, NM_ATT_TSC, gsm_ts_tsc(ts)); /* training sequence */
|
||||
if (bts->type == GSM_BTS_TYPE_BS11)
|
||||
msgb_tlv_put(msg, 0x59, 1, &zero);
|
||||
|
||||
|
|
|
@ -795,8 +795,7 @@ static void ts_dump_vty(struct vty *vty, struct gsm_bts_trx_ts *ts)
|
|||
{
|
||||
vty_out(vty, "BTS %u, TRX %u, Timeslot %u, phys cfg %s, TSC %u",
|
||||
ts->trx->bts->nr, ts->trx->nr, ts->nr,
|
||||
gsm_pchan_name(ts->pchan),
|
||||
ts->tsc == -1 ? ts->trx->bts->tsc : ts->tsc);
|
||||
gsm_pchan_name(ts->pchan), gsm_ts_tsc(ts));
|
||||
if (ts->pchan == GSM_PCHAN_TCH_F_PDCH)
|
||||
vty_out(vty, " (%s mode)",
|
||||
ts->flags & TS_F_PDCH_MODE ? "PDCH" : "TCH/F");
|
||||
|
|
|
@ -341,21 +341,15 @@ void gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd,
|
|||
const struct gsm_lchan *lchan)
|
||||
{
|
||||
uint16_t arfcn = lchan->ts->trx->arfcn & 0x3ff;
|
||||
uint8_t tsc;
|
||||
|
||||
if (lchan->ts->tsc == -1)
|
||||
tsc = lchan->ts->trx->bts->tsc;
|
||||
else
|
||||
tsc = lchan->ts->tsc;
|
||||
|
||||
cd->chan_nr = gsm_lchan2chan_nr(lchan);
|
||||
if (!lchan->ts->hopping.enabled) {
|
||||
cd->h0.tsc = tsc;
|
||||
cd->h0.tsc = gsm_ts_tsc(lchan->ts);
|
||||
cd->h0.h = 0;
|
||||
cd->h0.arfcn_high = arfcn >> 8;
|
||||
cd->h0.arfcn_low = arfcn & 0xff;
|
||||
} else {
|
||||
cd->h1.tsc = tsc;
|
||||
cd->h1.tsc = gsm_ts_tsc(lchan->ts);
|
||||
cd->h1.h = 1;
|
||||
cd->h1.maio_high = lchan->ts->hopping.maio >> 2;
|
||||
cd->h1.maio_low = lchan->ts->hopping.maio & 0x03;
|
||||
|
|
Loading…
Reference in a new issue