Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24661 ) Change subject: trxcon/scheduler: introduce and use struct sched_burst_req .. trxcon/scheduler: introduce and use struct sched_burst_req Similar to what we do in osmo-bts-trx, group everything related to an Uplink burst into a structure. Pass a pointer to this structure to the logical channel handlers. This makes the code easier to read, and facilitates sending NOPE indications to the transceiver (will be introduced in the upcoming patch). Get rid of sched_trx_handle_tx_burst(), and instead just call sched_trx_a5_burst_enc() directly from sched_frame_clck_cb(). Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Related: SYS#5313, OS#1569 --- M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_rach.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h M src/host/trxcon/trx_if.c M src/host/trxcon/trx_if.h 10 files changed, 146 insertions(+), 162 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/host/trxcon/sched_lchan_desc.c b/src/host/trxcon/sched_lchan_desc.c index 2c3c3b2..b6a72b3 100644 --- a/src/host/trxcon/sched_lchan_desc.c +++ b/src/host/trxcon/sched_lchan_desc.c @@ -34,35 +34,40 @@ const sbit_t *bits, const struct trx_meas_set *meas); int tx_data_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); int rx_sch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); int tx_rach_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); int rx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); int tx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); int rx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); int tx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); int rx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); int tx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); const struct trx_lchan_desc trx_lchan_desc[_TRX_CHAN_MAX] = { [TRXC_IDLE] = { diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index 6a68489..abbd480 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -2,7 +2,8 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2018-2020 by Vadim Yanitskiy + * (C) 2018-2021 by Vadim Yanitskiy + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -117,10 +118,10 @@ int tx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid) + struct trx_lchan_state *lchan, + struct sched_burst_req *br) { const struct trx_lchan_desc *lchan_desc; - ubit_t burst[GSM_BURST_LEN]; ubit_t *buffer, *offset; const uint8_t *tsc; uint8_t *mask; @@ -131,7 +132,7 @@ mask = >tx_burst_mask; buffer = lchan->tx_bursts; - if (bid > 0) { + if (br->bid > 0) { /* If we have encoded bursts */ if (*mask) goto send_burst; @@ -155,40 +156,29 @@ send_burst: /* Determine which burst should be sent */ - offset = buffer + bid * 116; + offset = buffer + br->bid * 116; /* Update mask */ - *mask |= (1 << bid); + *mask |= (1 << br->bid); /* Choose proper TSC */ tsc = sched_nb_training_bits[trx->tsc];
Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24661 ) Change subject: trxcon/scheduler: introduce and use struct sched_burst_req .. Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 13:57:28 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req
Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 to look at the new patch set (#4). Change subject: trxcon/scheduler: introduce and use struct sched_burst_req .. trxcon/scheduler: introduce and use struct sched_burst_req Similar to what we do in osmo-bts-trx, group everything related to an Uplink burst into a structure. Pass a pointer to this structure to the logical channel handlers. This makes the code easier to read, and facilitates sending NOPE indications to the transceiver (will be introduced in the upcoming patch). Get rid of sched_trx_handle_tx_burst(), and instead just call sched_trx_a5_burst_enc() directly from sched_frame_clck_cb(). Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Related: SYS#5313, OS#1569 --- M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_rach.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h M src/host/trxcon/trx_if.c M src/host/trxcon/trx_if.h 10 files changed, 146 insertions(+), 162 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/61/24661/4 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset
Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24661 ) Change subject: trxcon/scheduler: introduce and use struct sched_burst_req .. Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/24661/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmocom-bb/+/24661/3//COMMIT_MSG@11 PS3, Line 11: to the logical channel handlers. Thus makes the code easier to read, "This makes" -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 13:54:40 + Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req
Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 to look at the new patch set (#3). Change subject: trxcon/scheduler: introduce and use struct sched_burst_req .. trxcon/scheduler: introduce and use struct sched_burst_req Similar to what we do in osmo-bts-trx, group everything related to an Uplink burst into a structure. Pass a pointer to this structure to the logical channel handlers. Thus makes the code easier to read, and facilitates sending NOPE indications to the transceiver (will be introduced in the upcoming patch). Get rid of sched_trx_handle_tx_burst(), and instead just call sched_trx_a5_burst_enc() directly from sched_frame_clck_cb(). Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Related: SYS#5313, OS#1569 --- M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_rach.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h M src/host/trxcon/trx_if.c M src/host/trxcon/trx_if.h 10 files changed, 146 insertions(+), 162 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/61/24661/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset
Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24661 ) Change subject: trxcon/scheduler: introduce and use struct sched_burst_req .. Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/24661/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmocom-bb/+/24661/2//COMMIT_MSG@9 PS2, Line 9: Similar to what we do in osmo-bts-trx, group everything related to > "related to a to be" I don't get this. ... related to a [to be transmitted] burst. I can rephrase to [Uplink] instead. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 16 Jun 2021 12:45:47 + Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment
Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24661 ) Change subject: trxcon/scheduler: introduce and use struct sched_burst_req .. Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 16:44:12 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24661 ) Change subject: trxcon/scheduler: introduce and use struct sched_burst_req .. Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/24661/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmocom-bb/+/24661/2//COMMIT_MSG@9 PS2, Line 9: Similar to what we do in osmo-bts-trx, group everything related to "related to a to be" I don't get this. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 15 Jun 2021 09:43:37 + Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 to look at the new patch set (#2). Change subject: trxcon/scheduler: introduce and use struct sched_burst_req .. trxcon/scheduler: introduce and use struct sched_burst_req Similar to what we do in osmo-bts-trx, group everything related to a to be transmitted burst into a structure. Pass a pointer to this structure to the logical channel handlers. Thus makes the code easier to read, and facilitates sending NOPE indications to the transceiver (will be introduced in the upcoming patch). Get rid of sched_trx_handle_tx_burst(), and instead just call sched_trx_a5_burst_enc() directly from sched_frame_clck_cb(). Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Related: SYS#5313, OS#1569 --- M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_rach.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h M src/host/trxcon/trx_if.c M src/host/trxcon/trx_if.h 10 files changed, 146 insertions(+), 162 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/61/24661/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/24661 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Gerrit-Change-Number: 24661 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset
Change in osmocom-bb[master]: trxcon/scheduler: introduce and use struct sched_burst_req
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/24661 ) Change subject: trxcon/scheduler: introduce and use struct sched_burst_req .. trxcon/scheduler: introduce and use struct sched_burst_req Similar to what we do in osmo-bts-trx, group everything related to a to be transmitted burst into a structure. Pass a pointer to this structure to the logical channel handlers. Thus makes the code easier to read, and facilitates sending NOPE indications to the transceiver (will be introduced in the upcoming patch). Get rid of sched_trx_handle_tx_burst(), and instead just call sched_trx_a5_burst_enc() directly from sched_frame_clck_cb(). Change-Id: Id45b27180c233fdc42ae1ef0b195554dd299a056 Related: SYS#5313, OS#1569 --- M src/host/trxcon/sched_lchan_desc.c M src/host/trxcon/sched_lchan_pdtch.c M src/host/trxcon/sched_lchan_rach.c M src/host/trxcon/sched_lchan_tchf.c M src/host/trxcon/sched_lchan_tchh.c M src/host/trxcon/sched_lchan_xcch.c M src/host/trxcon/sched_trx.c M src/host/trxcon/sched_trx.h M src/host/trxcon/trx_if.c M src/host/trxcon/trx_if.h 10 files changed, 146 insertions(+), 162 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/61/24661/1 diff --git a/src/host/trxcon/sched_lchan_desc.c b/src/host/trxcon/sched_lchan_desc.c index 2c3c3b2..b6a72b3 100644 --- a/src/host/trxcon/sched_lchan_desc.c +++ b/src/host/trxcon/sched_lchan_desc.c @@ -34,35 +34,40 @@ const sbit_t *bits, const struct trx_meas_set *meas); int tx_data_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); int rx_sch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); int tx_rach_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); int rx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); int tx_tchf_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); int rx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); int tx_tchh_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); int rx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid, const sbit_t *bits, const struct trx_meas_set *meas); int tx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid); + struct trx_lchan_state *lchan, + struct sched_burst_req *br); const struct trx_lchan_desc trx_lchan_desc[_TRX_CHAN_MAX] = { [TRXC_IDLE] = { diff --git a/src/host/trxcon/sched_lchan_pdtch.c b/src/host/trxcon/sched_lchan_pdtch.c index 6a68489..abbd480 100644 --- a/src/host/trxcon/sched_lchan_pdtch.c +++ b/src/host/trxcon/sched_lchan_pdtch.c @@ -2,7 +2,8 @@ * OsmocomBB <-> SDR connection bridge * TDMA scheduler: handlers for DL / UL bursts on logical channels * - * (C) 2018-2020 by Vadim Yanitskiy + * (C) 2018-2021 by Vadim Yanitskiy + * Contributions by sysmocom - s.f.m.c. GmbH * * All Rights Reserved * @@ -117,10 +118,10 @@ int tx_pdtch_fn(struct trx_instance *trx, struct trx_ts *ts, - struct trx_lchan_state *lchan, uint32_t fn, uint8_t bid) + struct trx_lchan_state *lchan, + struct sched_burst_req *br) { const struct trx_lchan_desc *lchan_desc; - ubit_t burst[GSM_BURST_LEN]; ubit_t *buffer, *offset; const uint8_t *tsc; uint8_t *mask; @@ -131,7 +132,7 @@ mask = >tx_burst_mask; buffer = lchan->tx_bursts; - if (bid > 0) { + if (br->bid > 0) { /* If we have encoded bursts */ if (*mask) goto send_burst; @@ -155,40 +156,29 @@ send_burst: /* Determine which burst should be sent */ - offset = buffer + bid * 116; + offset = buffer + br->bid * 116; /* Update mask */ - *mask |= (1 << bid); + *mask |= (1 << br->bid); /* Choose proper TSC */ tsc =