lists.osmocom.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

gerrit-log

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
gerrit-log@lists.osmocom.org

July 2023

  • 1 participants
  • 3051 discussions
[M] Change in osmo-trx[master]: transceiver: add experimental viterbi equalizer support
by fixeria 28 Jul '23

28 Jul '23
Attention is currently required from: Hoernchen, laforge, pespin. fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/33930 ) Change subject: transceiver: add experimental viterbi equalizer support ...................................................................... Patch Set 12: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/33930 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I9d7a4ff72e323832a94d885d5714fcde01ceeb3d Gerrit-Change-Number: 33930 Gerrit-PatchSet: 12 Gerrit-Owner: Hoernchen <ewild(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Thu, 27 Jul 2023 21:21:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: ASCI: Update commit hash of titan.ProtocolModules.BSSMAP
by pespin 28 Jul '23

28 Jul '23
Attention is currently required from: jolly. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33972 ) Change subject: ASCI: Update commit hash of titan.ProtocolModules.BSSMAP ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/33972 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifd6cd610fee2041179f8d0fd6450469d25f65576 Gerrit-Change-Number: 33972 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: jolly <andreas(a)eversberg.eu> Gerrit-Comment-Date: Thu, 27 Jul 2023 21:21:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmo-trx[master]: ms: drop the tx burst padding
by pespin 28 Jul '23

28 Jul '23
Attention is currently required from: Hoernchen, laforge, fixeria. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/33926 ) Change subject: ms: drop the tx burst padding ...................................................................... Patch Set 3: Code-Review+1 (1 comment) Patchset: PS3: > well it has been useless for quite some time but there was no reason to change it because everything […] Have in mind also that others may not feel like reviewing your patches if they find not enough explanation/context! -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/33926 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ied5c3ab5dde975e11b0ef6d9cbc86be19173c4e8 Gerrit-Change-Number: 33926 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen <ewild(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Thu, 27 Jul 2023 21:20:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: Hoernchen <ewild(a)sysmocom.de> Comment-In-Reply-To: laforge <laforge(a)osmocom.org> Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmo-msc[master]: ASCI: Remove duplicated CLEAR COMMAND from VGCS/VBS channel handling
by pespin 28 Jul '23

28 Jul '23
Attention is currently required from: jolly. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/33967 ) Change subject: ASCI: Remove duplicated CLEAR COMMAND from VGCS/VBS channel handling ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/33967 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5e4891091c2ce56d4fd4a7f5f67156a94ade852d Gerrit-Change-Number: 33967 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: jolly <andreas(a)eversberg.eu> Gerrit-Comment-Date: Thu, 27 Jul 2023 21:17:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmo-msc[master]: ASCI: Add missing transaction ID to SET PARAMETER message
by pespin 28 Jul '23

28 Jul '23
Attention is currently required from: jolly. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/33966 ) Change subject: ASCI: Add missing transaction ID to SET PARAMETER message ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/33966 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I1b692cee894826a306885253a53a351f952d52dc Gerrit-Change-Number: 33966 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: jolly <andreas(a)eversberg.eu> Gerrit-Comment-Date: Thu, 27 Jul 2023 21:16:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmo-msc[master]: ASCI: Add debugging and error logging to VGCS/VBS call control
by pespin 28 Jul '23

28 Jul '23
Attention is currently required from: jolly. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/33965 ) Change subject: ASCI: Add debugging and error logging to VGCS/VBS call control ...................................................................... Patch Set 1: Code-Review+1 (1 comment) Patchset: PS1: we should be removing all those dots before \n :) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/33965 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I3fbce71e47e9670f58e46e7c2a0f26a1bbc1a46e Gerrit-Change-Number: 33965 Gerrit-PatchSet: 1 Gerrit-Owner: jolly <andreas(a)eversberg.eu> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: jolly <andreas(a)eversberg.eu> Gerrit-Comment-Date: Thu, 27 Jul 2023 21:16:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[L] Change in osmo-trx[master]: ms/va: add test tool and data
by fixeria 28 Jul '23

28 Jul '23
Attention is currently required from: Hoernchen, laforge. fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/33945 ) Change subject: ms/va: add test tool and data ...................................................................... Patch Set 10: (8 comments) File utils/Makefile.am: https://gerrit.osmocom.org/c/osmo-trx/+/33945/comment/b2d0c968_07e9ac43 PS10, Line 2: .. You wouldn't need these relative paths if you used `$(top_srcdir)`. https://gerrit.osmocom.org/c/osmo-trx/+/33945/comment/3ba2bcaf_d9ddc398 PS10, Line 2: AM_CPPFLAGS = -Wall $(STD_DEFINES_AND_INCLUDES) -I${srcdir}/../Transceiver52M/arch/common -I${srcdir}/../Transceiver52M/device/common -I${srcdir}/../Transceiver52M Also, for the sake of readability, one item per line please. https://gerrit.osmocom.org/c/osmo-trx/+/33945/comment/445883d2_a105d89c PS10, Line 3: lpthread This is actually not a compiler flag, so `LDADD` is a better fit. If it's needed only for the new binary you're adding, then please add it to `burst_gen_LDADD`. https://gerrit.osmocom.org/c/osmo-trx/+/33945/comment/61832549_38a9fda2 PS10, Line 4: LIBOSMOCODING_CFLAGS Is libosmocoding also needed by your new tool? If not, move it to `osmo_prbs_tool_CFLAGS`. https://gerrit.osmocom.org/c/osmo-trx/+/33945/comment/18e73255_a9601ef6 PS10, Line 13: burst-gen Add `osmo-` prefix for consistency with `osmo-prbs-tool`? https://gerrit.osmocom.org/c/osmo-trx/+/33945/comment/23599ea2_e9d571a7 PS10, Line 15: burst_gen_SOURCES = va-test/burst-gen.cpp ${srcdir}/../Transceiver52M/grgsm_vitac/grgsm_vitac.cpp ${srcdir}/../Transceiver52M/grgsm_vitac/viterbi_detector.cc Same here, one file per line please. https://gerrit.osmocom.org/c/osmo-trx/+/33945/comment/7df14252_ffcc695a PS10, Line 17: ../Transceiver52M/libtransceiver_common.la \ tabs vs spaces File utils/va-test/burst-gen.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/33945/comment/fadbe803_98ad60c7 PS10, Line 524: int main() doesn't compiler warn about missing `return (int)`? -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/33945 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie38ed4996134e84ad0481872a743299bb442b3db Gerrit-Change-Number: 33945 Gerrit-PatchSet: 10 Gerrit-Owner: Hoernchen <ewild(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-CC: laforge <laforge(a)osmocom.org> Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Comment-Date: Thu, 27 Jul 2023 21:16:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
1 0
0 0
[M] Change in osmo-trx[master]: ms: restructure the va code to add rach support
by fixeria 27 Jul '23

27 Jul '23
Attention is currently required from: Hoernchen, pespin. fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/33944 ) Change subject: ms: restructure the va code to add rach support ...................................................................... Patch Set 6: (6 comments) File Transceiver52M/grgsm_vitac/grgsm_vitac.h: https://gerrit.osmocom.org/c/osmo-trx/+/33944/comment/402d44d8_32e18d97 PS6, Line 61: MULTI_VER_TARGET_ATTR_CLANGONLY Why removing this? If on purpose, please explain in the commit message. https://gerrit.osmocom.org/c/osmo-trx/+/33944/comment/bfde6848_a3b770d8 PS6, Line 62: detect_burst_access_burst `detect_burst_ab()` for consistency with `detect_burst_nb()` then? File Transceiver52M/grgsm_vitac/grgsm_vitac.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/33944/comment/5e2af26d_b3af6876 PS6, Line 77: MULTI_VER_TARGET_ATTR NO_UBSAN Why removing this? If on purpose, please explain in the commit message. https://gerrit.osmocom.org/c/osmo-trx/+/33944/comment/03a0ecb3_d2d28bf6 PS6, Line 42: d_sync_training_seq[N_ACCESS_BITS]; ///<encoded training sequence of a SCH burst I find this confusing: the comment mentions SCH, the symbol name contains `_sync_`, and the `N_ACCESS_BITS` is perhaps from the context of access bursts? Looks like the comment is copy-pasted? If it's for access bursts, maybe call it `d_acc_training_seq`? https://gerrit.osmocom.org/c/osmo-trx/+/33944/comment/9c0c697b_0e8ea44b PS6, Line 71: gr_complex startpoint = train_seq[i][0] == 0 ? gr_complex(1.0, 0.0) : gr_complex(-1.0, 0.0); Unrelated spacing changes. I am find with that in general, but it makes the patch harder to read, so ideally should be done separately. https://gerrit.osmocom.org/c/osmo-trx/+/33944/comment/0ffd49f1_528eceb7 PS6, Line 139: gmsk_output[i] = j * gr_complex(encoded_symbol, 0.0) * gmsk_output[i - 1]; Again, I am fine with proper formatting, but it makes your patch harder to read. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/33944 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I4a5cedc8c9a3289c75ce7b914eac286e601ebed0 Gerrit-Change-Number: 33944 Gerrit-PatchSet: 6 Gerrit-Owner: Hoernchen <ewild(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Thu, 27 Jul 2023 20:58:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmo-trx[master]: ms: update osmocom-bb
by fixeria 27 Jul '23

27 Jul '23
Attention is currently required from: Hoernchen. fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/33927 ) Change subject: ms: update osmocom-bb ...................................................................... Patch Set 4: (2 comments) Patchset: PS4: Please also add a dedicated logging category for l1gprs (`TRXCON_LOGC_GPRS`/`DGPRS`), like it's done in osmocom-bb.git [1]. Otherwise all GPRS related logging would be using `DLGLOBAL`. [1] https://cgit.osmocom.org/osmocom-bb/tree/src/host/trxcon/src/logging.c#n89 File osmocom-bb: https://gerrit.osmocom.org/c/osmo-trx/+/33927/comment/e4f56b53_4965e9d9 PS4, Line 1: 60215bc051c96d87c552ece42d594be7f7388c4f I recommend upgrading to even more recent version (`3f409eb94eac9ffa67a7528f29f58275f0b836b8`), which has several important fixes for the scheduler (TCH handling). -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/33927 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6f9fca7a4d6a02e82bf406fd136c5bde96bb93af Gerrit-Change-Number: 33927 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen <ewild(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de> Gerrit-Comment-Date: Thu, 27 Jul 2023 20:39:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
1 0
0 0
[M] Change in osmocom-bb[master]: trxcon/l1sched: emit DATA.cnf early (on bid=0)
by fixeria 27 Jul '23

27 Jul '23
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/33749 ) Change subject: trxcon/l1sched: emit DATA.cnf early (on bid=0) ...................................................................... trxcon/l1sched: emit DATA.cnf early (on bid=0) trxcon's scheduler is currently emitting DATA.cnf whenever the last burst of a DATA.req has been transmitted. This sounds logical, but makes the implementation quite complex. It's even harder to implement sending of DATA.cnf properly for CSD specific channel modes, which are to be implemented in a follow-up patch. The DATA.cnf prims trigger sending of L1CTL DATA.cnf/TRAFFIC.cnf, which are interpreted as Ready-to-Send by the upper layers (layer23). Additionally DATA.cnf prims trigger sending of GSMTAP PDUs containing the respective Uplink frames. This patch changes the l1sched logic, so that a DATA.cnf primitive is emitted whenever the respective DATA.req is dequeued and encoded using the lchan specific channel coding function. This simplifies the code a lot and prepares for the upcoming CSD support. As a bonus, this patch fixes an inconsistency between TDMA FNs reported in Uplink and Downlink GSMTAP PDUs. Now we're indicating the first Fn in both cases, so Uplink is consistent with Downlink. Change-Id: Ie09a24cd950a93edd871a9fbc5b47ec96c24cceb Related: OS#4396, OS#1572 --- M src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h M src/host/trxcon/include/osmocom/bb/l1sched/prim.h M src/host/trxcon/src/sched_lchan_common.c M src/host/trxcon/src/sched_lchan_pdtch.c M src/host/trxcon/src/sched_lchan_rach.c M src/host/trxcon/src/sched_lchan_tchf.c M src/host/trxcon/src/sched_lchan_tchh.c M src/host/trxcon/src/sched_lchan_xcch.c M src/host/trxcon/src/sched_prim.c M src/host/trxcon/src/sched_trx.c 10 files changed, 100 insertions(+), 102 deletions(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h b/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h index 5385c00..98282c1 100644 --- a/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h +++ b/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h @@ -223,8 +223,6 @@ /*! Queue of Tx primitives */ struct llist_head tx_prims; - /*! Tx primitive being sent */ - struct msgb *prim; /*! Mode for TCH channels (see GSM48_CMODE_*) */ uint8_t tch_mode; diff --git a/src/host/trxcon/include/osmocom/bb/l1sched/prim.h b/src/host/trxcon/include/osmocom/bb/l1sched/prim.h index af3ac3b..a9187c2 100644 --- a/src/host/trxcon/include/osmocom/bb/l1sched/prim.h +++ b/src/host/trxcon/include/osmocom/bb/l1sched/prim.h @@ -116,16 +116,17 @@ struct msgb *l1sched_prim_alloc(enum l1sched_prim_type type, enum osmo_prim_operation op); -bool l1sched_lchan_amr_prim_is_valid(struct l1sched_lchan_state *lchan, bool is_cmr); +bool l1sched_lchan_amr_prim_is_valid(struct l1sched_lchan_state *lchan, + struct msgb *msg, bool is_cmr); struct msgb *l1sched_lchan_prim_dequeue_sacch(struct l1sched_lchan_state *lchan); struct msgb *l1sched_lchan_prim_dequeue_tch(struct l1sched_lchan_state *lchan, bool facch); struct msgb *l1sched_lchan_prim_dummy_lapdm(const struct l1sched_lchan_state *lchan); -void l1sched_lchan_prim_drop(struct l1sched_lchan_state *lchan); int l1sched_lchan_emit_data_ind(struct l1sched_lchan_state *lchan, const uint8_t *data, size_t data_len, int n_errors, int n_bits_total, bool traffic); -int l1sched_lchan_emit_data_cnf(struct l1sched_lchan_state *lchan, uint32_t fn); +int l1sched_lchan_emit_data_cnf(struct l1sched_lchan_state *lchan, + struct msgb *msg, uint32_t fn); int l1sched_prim_from_user(struct l1sched_state *sched, struct msgb *msg); int l1sched_prim_to_user(struct l1sched_state *sched, struct msgb *msg); diff --git a/src/host/trxcon/src/sched_lchan_common.c b/src/host/trxcon/src/sched_lchan_common.c index bf31831..2308297 100644 --- a/src/host/trxcon/src/sched_lchan_common.c +++ b/src/host/trxcon/src/sched_lchan_common.c @@ -93,17 +93,18 @@ return buf; } -bool l1sched_lchan_amr_prim_is_valid(struct l1sched_lchan_state *lchan, bool is_cmr) +bool l1sched_lchan_amr_prim_is_valid(struct l1sched_lchan_state *lchan, + struct msgb *msg, bool is_cmr) { enum osmo_amr_type ft_codec; uint8_t cmr_codec; int ft, cmr, len; - len = osmo_amr_rtp_dec(msgb_l2(lchan->prim), msgb_l2len(lchan->prim), + len = osmo_amr_rtp_dec(msgb_l2(msg), msgb_l2len(msg), &cmr_codec, NULL, &ft_codec, NULL, NULL); if (len < 0) { LOGP_LCHAND(lchan, LOGL_ERROR, "Cannot send invalid AMR payload (%u): %s\n", - msgb_l2len(lchan->prim), msgb_hexdump_l2(lchan->prim)); + msgb_l2len(msg), msgb_hexdump_l2(msg)); return false; } ft = -1; diff --git a/src/host/trxcon/src/sched_lchan_pdtch.c b/src/host/trxcon/src/sched_lchan_pdtch.c index 03d43ce..001a2d9 100644 --- a/src/host/trxcon/src/sched_lchan_pdtch.c +++ b/src/host/trxcon/src/sched_lchan_pdtch.c @@ -140,19 +140,22 @@ *mask = *mask << 4; - lchan->prim = prim_dequeue_pdtch(lchan, br->fn); - if (lchan->prim == NULL) + struct msgb *msg = prim_dequeue_pdtch(lchan, br->fn); + if (msg == NULL) return -ENOENT; /* Encode payload */ - rc = gsm0503_pdtch_encode(bursts_p, msgb_l2(lchan->prim), msgb_l2len(lchan->prim)); + rc = gsm0503_pdtch_encode(bursts_p, msgb_l2(msg), msgb_l2len(msg)); if (rc < 0) { LOGP_LCHAND(lchan, LOGL_ERROR, "Failed to encode L2 payload (len=%u): %s\n", - msgb_l2len(lchan->prim), msgb_hexdump_l2(lchan->prim)); - l1sched_lchan_prim_drop(lchan); + msgb_l2len(msg), msgb_hexdump_l2(msg)); + msgb_free(msg); return -EINVAL; } + /* Confirm data / traffic sending (pass ownership of the msgb/prim) */ + l1sched_lchan_emit_data_cnf(lchan, msg, br->fn); + send_burst: /* Determine which burst should be sent */ burst = bursts_p + br->bid * 116; @@ -173,11 +176,5 @@ LOGP_LCHAND(lchan, LOGL_DEBUG, "Scheduled at fn=%u burst=%u\n", br->fn, br->bid); - /* If we have sent the last (4/4) burst */ - if ((*mask & 0x0f) == 0x0f) { - /* Confirm data / traffic sending (pass ownership of the prim) */ - l1sched_lchan_emit_data_cnf(lchan, br->fn); - } - return 0; } diff --git a/src/host/trxcon/src/sched_lchan_rach.c b/src/host/trxcon/src/sched_lchan_rach.c index 8df7fa2..905f1d5 100644 --- a/src/host/trxcon/src/sched_lchan_rach.c +++ b/src/host/trxcon/src/sched_lchan_rach.c @@ -73,28 +73,27 @@ struct l1sched_burst_req *br) { const uint8_t bsic = lchan->ts->sched->bsic; - struct l1sched_prim *prim; uint8_t *burst_ptr = br->burst; uint8_t payload[36]; int i, rc; - if (lchan->prim == NULL) { - lchan->prim = msgb_dequeue(&lchan->tx_prims); - if (lchan->prim == NULL) - return 0; - } - prim = l1sched_prim_from_msgb(lchan->prim); + if (llist_empty(&lchan->tx_prims)) + return 0; + + struct msgb *msg = llist_first_entry(&lchan->tx_prims, struct msgb, list); + struct l1sched_prim *prim = l1sched_prim_from_msgb(msg); /* Delay sending according to offset value */ if (prim->rach_req.offset-- > 0) return 0; + llist_del(&msg->list); /* Check requested synch. sequence */ if (prim->rach_req.synch_seq >= RACH_SYNCH_SEQ_NUM) { LOGP_LCHAND(lchan, LOGL_ERROR, "Unknown RACH synch. sequence=0x%02x\n", prim->rach_req.synch_seq); - l1sched_lchan_prim_drop(lchan); + msgb_free(msg); return -ENOTSUP; } @@ -106,7 +105,7 @@ "Could not encode %s-bit RACH burst (ra=%u bsic=%u)\n", prim->rach_req.is_11bit ? "11" : "8", prim->rach_req.ra, bsic); - l1sched_lchan_prim_drop(lchan); + msgb_free(msg); return rc; } @@ -130,8 +129,8 @@ prim->rach_req.is_11bit ? "11" : "8", get_value_string(rach_synch_seq_names, prim->rach_req.synch_seq), br->fn); - /* Confirm RACH request (pass ownership of the prim) */ - l1sched_lchan_emit_data_cnf(lchan, br->fn); + /* Confirm RACH request (pass ownership of the msgb/prim) */ + l1sched_lchan_emit_data_cnf(lchan, msg, br->fn); return 0; } diff --git a/src/host/trxcon/src/sched_lchan_tchf.c b/src/host/trxcon/src/sched_lchan_tchf.c index 0206b61..12bea57 100644 --- a/src/host/trxcon/src/sched_lchan_tchf.c +++ b/src/host/trxcon/src/sched_lchan_tchf.c @@ -229,39 +229,39 @@ memset(&bursts_p[464], 0, 464); *mask = *mask << 4; - lchan->prim = prim_dequeue_tchf(lchan); + struct msgb *msg = prim_dequeue_tchf(lchan); /* populate the buffer with bursts */ switch (lchan->tch_mode) { case GSM48_CMODE_SIGN: - if (lchan->prim == NULL) - lchan->prim = l1sched_lchan_prim_dummy_lapdm(lchan); + if (msg == NULL) + msg = l1sched_lchan_prim_dummy_lapdm(lchan); /* fall-through */ case GSM48_CMODE_SPEECH_V1: case GSM48_CMODE_SPEECH_EFR: - if (lchan->prim == NULL) { + if (msg == NULL) { /* transmit a dummy speech block with inverted CRC3 */ gsm0503_tch_fr_encode(bursts_p, NULL, 0, 1); goto send_burst; } rc = gsm0503_tch_fr_encode(bursts_p, - msgb_l2(lchan->prim), - msgb_l2len(lchan->prim), 1); + msgb_l2(msg), + msgb_l2len(msg), 1); break; case GSM48_CMODE_SPEECH_AMR: { bool amr_fn_is_cmr = !sched_tchf_ul_amr_cmi_map[br->fn % 26]; - const uint8_t *data = lchan->prim ? msgb_l2(lchan->prim) : NULL; - size_t data_len = lchan->prim ? msgb_l2len(lchan->prim) : 0; + const uint8_t *data = msg ? msgb_l2(msg) : NULL; + size_t data_len = msg ? msgb_l2len(msg) : 0; - if (lchan->prim == NULL) { + if (msg == NULL) { /* TODO: It's not clear what to do for TCH/AFS. * TODO: Send dummy FACCH maybe? */ goto send_burst; /* send something */ } if (data_len != GSM_MACBLOCK_LEN) { /* TCH/AFS: speech */ - if (!l1sched_lchan_amr_prim_is_valid(lchan, amr_fn_is_cmr)) + if (!l1sched_lchan_amr_prim_is_valid(lchan, msg, amr_fn_is_cmr)) goto free_bad_msg; /* pull the AMR header - sizeof(struct amr_hdr) */ data_len -= 2; @@ -286,12 +286,15 @@ if (rc) { LOGP_LCHAND(lchan, LOGL_ERROR, "Failed to encode L2 payload (len=%u): %s\n", - msgb_l2len(lchan->prim), msgb_hexdump_l2(lchan->prim)); + msgb_l2len(msg), msgb_hexdump_l2(msg)); free_bad_msg: - l1sched_lchan_prim_drop(lchan); + msgb_free(msg); return -EINVAL; } + /* Confirm data / traffic sending (pass ownership of the msgb/prim) */ + l1sched_lchan_emit_data_cnf(lchan, msg, br->fn); + send_burst: /* Determine which burst should be sent */ burst = bursts_p + br->bid * 116; @@ -312,11 +315,5 @@ LOGP_LCHAND(lchan, LOGL_DEBUG, "Scheduled fn=%u burst=%u\n", br->fn, br->bid); - /* If we have sent the last (4/4) burst */ - if ((*mask & 0x0f) == 0x0f) { - /* Confirm data / traffic sending (pass ownership of the prim) */ - l1sched_lchan_emit_data_cnf(lchan, br->fn); - } - return 0; } diff --git a/src/host/trxcon/src/sched_lchan_tchh.c b/src/host/trxcon/src/sched_lchan_tchh.c index 3b329cb..38aef34 100644 --- a/src/host/trxcon/src/sched_lchan_tchh.c +++ b/src/host/trxcon/src/sched_lchan_tchh.c @@ -381,40 +381,40 @@ goto send_burst; } - lchan->prim = prim_dequeue_tchh(lchan, br->fn); + struct msgb *msg = prim_dequeue_tchh(lchan, br->fn); /* populate the buffer with bursts */ switch (lchan->tch_mode) { case GSM48_CMODE_SIGN: if (!l1sched_tchh_facch_start(lchan->type, br->fn, 1)) goto send_burst; /* XXX: should not happen */ - if (lchan->prim == NULL) - lchan->prim = l1sched_lchan_prim_dummy_lapdm(lchan); + if (msg == NULL) + msg = l1sched_lchan_prim_dummy_lapdm(lchan); /* fall-through */ case GSM48_CMODE_SPEECH_V1: - if (lchan->prim == NULL) { + if (msg == NULL) { /* transmit a dummy speech block with inverted CRC3 */ gsm0503_tch_hr_encode(bursts_p, NULL, 0); goto send_burst; } rc = gsm0503_tch_hr_encode(bursts_p, - msgb_l2(lchan->prim), - msgb_l2len(lchan->prim)); + msgb_l2(msg), + msgb_l2len(msg)); break; case GSM48_CMODE_SPEECH_AMR: { bool amr_fn_is_cmr = !sched_tchh_ul_amr_cmi_map[br->fn % 26]; - const uint8_t *data = lchan->prim ? msgb_l2(lchan->prim) : NULL; - size_t data_len = lchan->prim ? msgb_l2len(lchan->prim) : 0; + const uint8_t *data = msg ? msgb_l2(msg) : NULL; + size_t data_len = msg ? msgb_l2len(msg) : 0; - if (lchan->prim == NULL) { + if (msg == NULL) { /* TODO: It's not clear what to do for TCH/AHS. * TODO: Send dummy FACCH maybe? */ goto send_burst; /* send garbage */ } if (data_len != GSM_MACBLOCK_LEN) { /* TCH/AHS: speech */ - if (!l1sched_lchan_amr_prim_is_valid(lchan, amr_fn_is_cmr)) + if (!l1sched_lchan_amr_prim_is_valid(lchan, msg, amr_fn_is_cmr)) goto free_bad_msg; /* pull the AMR header - sizeof(struct amr_hdr) */ data_len -= 2; @@ -439,15 +439,18 @@ if (rc) { LOGP_LCHAND(lchan, LOGL_ERROR, "Failed to encode L2 payload (len=%u): %s\n", - msgb_l2len(lchan->prim), msgb_hexdump_l2(lchan->prim)); + msgb_l2len(msg), msgb_hexdump_l2(msg)); free_bad_msg: - l1sched_lchan_prim_drop(lchan); + msgb_free(msg); return -EINVAL; } - if (msgb_l2len(lchan->prim) == GSM_MACBLOCK_LEN) + if (msgb_l2len(msg) == GSM_MACBLOCK_LEN) lchan->ul_facch_blocks = 6; + /* Confirm data / traffic sending (pass ownership of the msgb/prim) */ + l1sched_lchan_emit_data_cnf(lchan, msg, br->fn); + send_burst: /* Determine which burst should be sent */ burst = bursts_p + br->bid * 116; @@ -472,13 +475,5 @@ if (lchan->ul_facch_blocks) lchan->ul_facch_blocks--; - if ((*mask & 0x0f) == 0x0f) { - /* Confirm data / traffic sending (pass ownership of the prim) */ - if (!lchan->ul_facch_blocks) - l1sched_lchan_emit_data_cnf(lchan, br->fn); - else /* do not confirm dropped prims */ - l1sched_lchan_prim_drop(lchan); - } - return 0; } diff --git a/src/host/trxcon/src/sched_lchan_xcch.c b/src/host/trxcon/src/sched_lchan_xcch.c index e263836..b3863d5 100644 --- a/src/host/trxcon/src/sched_lchan_xcch.c +++ b/src/host/trxcon/src/sched_lchan_xcch.c @@ -139,20 +139,23 @@ *mask = *mask << 4; - lchan->prim = prim_dequeue_xcch(lchan); - if (lchan->prim == NULL) - lchan->prim = l1sched_lchan_prim_dummy_lapdm(lchan); - OSMO_ASSERT(lchan->prim != NULL); + struct msgb *msg = prim_dequeue_xcch(lchan); + if (msg == NULL) + msg = l1sched_lchan_prim_dummy_lapdm(lchan); + OSMO_ASSERT(msg != NULL); /* Encode payload */ - rc = gsm0503_xcch_encode(bursts_p, msgb_l2(lchan->prim)); + rc = gsm0503_xcch_encode(bursts_p, msgb_l2(msg)); if (rc) { LOGP_LCHAND(lchan, LOGL_ERROR, "Failed to encode L2 payload (len=%u): %s\n", - msgb_l2len(lchan->prim), msgb_hexdump_l2(lchan->prim)); - l1sched_lchan_prim_drop(lchan); + msgb_l2len(msg), msgb_hexdump_l2(msg)); + msgb_free(msg); return -EINVAL; } + /* Confirm data sending (pass ownership of the msgb/prim) */ + l1sched_lchan_emit_data_cnf(lchan, msg, br->fn); + send_burst: /* Determine which burst should be sent */ burst = bursts_p + br->bid * 116; @@ -173,11 +176,5 @@ LOGP_LCHAND(lchan, LOGL_DEBUG, "Scheduled fn=%u burst=%u\n", br->fn, br->bid); - /* If we have sent the last (4/4) burst */ - if ((*mask & 0x0f) == 0x0f) { - /* Confirm data sending (pass ownership of the prim) */ - l1sched_lchan_emit_data_cnf(lchan, br->fn); - } - return 0; } diff --git a/src/host/trxcon/src/sched_prim.c b/src/host/trxcon/src/sched_prim.c index 3211560..2597d84 100644 --- a/src/host/trxcon/src/sched_prim.c +++ b/src/host/trxcon/src/sched_prim.c @@ -249,17 +249,6 @@ } /** - * Drops the current primitive of specified logical channel - * - * @param lchan a logical channel to drop prim from - */ -void l1sched_lchan_prim_drop(struct l1sched_lchan_state *lchan) -{ - msgb_free(lchan->prim); - lchan->prim = NULL; -} - -/** * Allocate a DATA.req with dummy LAPDm func=UI frame for the given logical channel. * To be used when no suitable DATA.req is present in the Tx queue. * @@ -343,15 +332,12 @@ return l1sched_prim_to_user(lchan->ts->sched, msg); } -int l1sched_lchan_emit_data_cnf(struct l1sched_lchan_state *lchan, uint32_t fn) +int l1sched_lchan_emit_data_cnf(struct l1sched_lchan_state *lchan, + struct msgb *msg, uint32_t fn) { struct l1sched_prim *prim; - struct msgb *msg; - /* take ownership of the prim */ - if ((msg = lchan->prim) == NULL) - return -ENODEV; - lchan->prim = NULL; + OSMO_ASSERT(msg != NULL); /* convert from DATA.req to DATA.cnf */ prim = l1sched_prim_from_msgb(msg); diff --git a/src/host/trxcon/src/sched_trx.c b/src/host/trxcon/src/sched_trx.c index cac3a21..d07a579 100644 --- a/src/host/trxcon/src/sched_trx.c +++ b/src/host/trxcon/src/sched_trx.c @@ -524,9 +524,6 @@ lchan->rx_bursts = NULL; lchan->tx_bursts = NULL; - /* Forget the current prim */ - l1sched_lchan_prim_drop(lchan); - /* Flush the queue of pending Tx prims */ while ((msg = msgb_dequeue(&lchan->tx_prims)) != NULL) msgb_free(msg); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/33749 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie09a24cd950a93edd871a9fbc5b47ec96c24cceb Gerrit-Change-Number: 33749 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • ...
  • 306
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.