This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgReview at https://gerrit.osmocom.org/6811 trxcon/scheduler: preprocess UL bursts before sending Having a possibility to preprocess UL burst before sending to transceiver is required for the further ciphering support integration and probably some other tasks. Change-Id: Ia6eead5d4f51d7c0bf277b9d5ebb0a74676df567 --- M src/host/trxcon/sched_lchan_rach.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h 5 files changed, 27 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/11/6811/1 diff --git a/src/host/trxcon/sched_lchan_rach.c b/src/host/trxcon/sched_lchan_rach.c index b26e279..2a09a37 100644 --- a/src/host/trxcon/sched_lchan_rach.c +++ b/src/host/trxcon/sched_lchan_rach.c @@ -86,11 +86,9 @@ LOGP(DSCHD, LOGL_DEBUG, "Transmitting RACH fn=%u\n", fn); - /* Send burst to transceiver */ - rc = trx_if_tx_burst(trx, ts->index, fn, trx->tx_power, burst); + /* Forward burst to scheduler */ + rc = sched_trx_handle_tx_burst(trx, ts, lchan, fn, burst); if (rc) { - LOGP(DSCHD, LOGL_ERROR, "Could not send burst to transceiver\n"); - /* Forget this primitive */ sched_prim_drop(lchan); diff --git a/src/host/trxcon/sched_lchan_tchf.c b/src/host/trxcon/sched_lchan_tchf.c index e562a49..45fa1c2 100644 --- a/src/host/trxcon/sched_lchan_tchf.c +++ b/src/host/trxcon/sched_lchan_tchf.c @@ -258,11 +258,9 @@ LOGP(DSCHD, LOGL_DEBUG, "Transmitting %s fn=%u ts=%u burst=%u\n", lchan_desc->name, fn, ts->index, bid); - /* Send burst to transceiver */ - rc = trx_if_tx_burst(trx, ts->index, fn, trx->tx_power, burst); + /* Forward burst to scheduler */ + rc = sched_trx_handle_tx_burst(trx, ts, lchan, fn, burst); if (rc) { - LOGP(DSCHD, LOGL_ERROR, "Could not send burst to transceiver\n"); - /* Forget this primitive */ sched_prim_drop(lchan); diff --git a/src/host/trxcon/sched_lchan_xcch.c b/src/host/trxcon/sched_lchan_xcch.c index d395b1d..c71b10f 100644 --- a/src/host/trxcon/sched_lchan_xcch.c +++ b/src/host/trxcon/sched_lchan_xcch.c @@ -170,11 +170,9 @@ LOGP(DSCHD, LOGL_DEBUG, "Transmitting %s fn=%u ts=%u burst=%u\n", lchan_desc->name, fn, ts->index, bid); - /* Send burst to transceiver */ - rc = trx_if_tx_burst(trx, ts->index, fn, trx->tx_power, burst); + /* Forward burst to scheduler */ + rc = sched_trx_handle_tx_burst(trx, ts, lchan, fn, burst); if (rc) { - LOGP(DSCHD, LOGL_ERROR, "Could not send burst to transceiver\n"); - /* Forget this primitive */ sched_prim_drop(lchan); diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c index ee62e70..fba9ee4 100644 --- a/src/host/trxcon/sched_trx.c +++ b/src/host/trxcon/sched_trx.c @@ -531,3 +531,21 @@ return 0; } + +int sched_trx_handle_tx_burst(struct trx_instance *trx, + struct trx_ts *ts, struct trx_lchan_state *lchan, + uint32_t fn, ubit_t *bits) +{ + int rc; + + /* TODO: perform A5/X burst encryption if required */ + + /* Forward burst to transceiver */ + rc = trx_if_tx_burst(trx, ts->index, fn, trx->tx_power, bits); + if (rc) { + LOGP(DSCHD, LOGL_ERROR, "Could not send burst to transceiver\n"); + return rc; + } + + return 0; +} diff --git a/src/host/trxcon/sched_trx.h b/src/host/trxcon/sched_trx.h index c857601..54dbc85 100644 --- a/src/host/trxcon/sched_trx.h +++ b/src/host/trxcon/sched_trx.h @@ -279,6 +279,9 @@ int sched_trx_handle_rx_burst(struct trx_instance *trx, uint8_t tn, uint32_t burst_fn, sbit_t *bits, uint16_t nbits, int8_t rssi, float toa); +int sched_trx_handle_tx_burst(struct trx_instance *trx, + struct trx_ts *ts, struct trx_lchan_state *lchan, + uint32_t fn, ubit_t *bits); /* Shared declarations for lchan handlers */ extern const uint8_t sched_nb_training_bits[8][26]; -- To view, visit https://gerrit.osmocom.org/6811 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia6eead5d4f51d7c0bf277b9d5ebb0a74676df567 Gerrit-PatchSet: 1 Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Owner: Harald Welte <laforge at gnumonks.org>