Projects
osmocom:master
osmo-bts
Log In
Username
Password
File not found: osmo-python-tests_0.3.0.161.fc78.202504252026.dsc
×
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 56
View file
osmo-bts.spec
Changed
@@ -14,13 +14,13 @@ Name: osmo-bts Requires: osmocom-master -Version: 1.6.0.33.e708 +Version: 1.6.0.34.8e04 Release: 0 Summary: Osmocom BTS-Side code (Abis, scheduling) License: AGPL-3.0-or-later AND GPL-2.0-only Group: Productivity/Telephony/Servers URL: https://osmocom.org/projects/osmobts -Source: osmo-bts_1.6.0.33.e708.tar.xz +Source: osmo-bts_1.6.0.34.8e04.tar.xz Source1: rpmlintrc BuildRequires: autoconf BuildRequires: automake
View file
commit_8e04613e4f0bf5093e15a6027ac53e3934555708.txt
Added
View file
commit_e7085d16998cc1ba98ee1e12ea260552dc6cac76.txt
Deleted
View file
osmo-bts_1.6.0.33.e708.dsc -> osmo-bts_1.6.0.34.8e04.dsc
Changed
@@ -2,7 +2,7 @@ Source: osmo-bts Binary: osmo-bts, osmo-bts-trx, osmo-bts-trx-dbg, osmo-bts-virtual, osmo-bts-virtual-dbg, osmo-bts-doc Architecture: any all -Version: 1.6.0.33.e708 +Version: 1.6.0.34.8e04 Maintainer: Osmocom team <openbsc@lists.osmocom.org> Homepage: https://projects.osmocom.org/projects/osmobts Standards-Version: 3.9.8 @@ -17,8 +17,8 @@ osmo-bts-virtual deb net optional arch=any osmo-bts-virtual-dbg deb debug extra arch=any Checksums-Sha1: - b61ab81febd4dba0f7c1eb4c4c16addc7600f70e 461968 osmo-bts_1.6.0.33.e708.tar.xz + 8e459f357b14d7a5cbb61d0990354ff9f22f9020 462516 osmo-bts_1.6.0.34.8e04.tar.xz Checksums-Sha256: - 6ce67cfbf1689e8fdb8f62c0ce89b660866bd70e29838ba90a2e17118a38891e 461968 osmo-bts_1.6.0.33.e708.tar.xz + c5ea62ea75c3e6845683c3fddd51f7c5d88a7aac13b63772373ccdd021de944e 462516 osmo-bts_1.6.0.34.8e04.tar.xz Files: - 3e9a7a39074f65e74137f843c3546078 461968 osmo-bts_1.6.0.33.e708.tar.xz + 3b7fb4aa7908e2d0ea0d78c99f3479d2 462516 osmo-bts_1.6.0.34.8e04.tar.xz
View file
osmo-bts_1.6.0.33.e708.tar.xz/.tarball-version -> osmo-bts_1.6.0.34.8e04.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -1.6.0.33-e708 +1.6.0.34-8e04
View file
osmo-bts_1.6.0.33.e708.tar.xz/debian/changelog -> osmo-bts_1.6.0.34.8e04.tar.xz/debian/changelog
Changed
@@ -1,8 +1,8 @@ -osmo-bts (1.6.0.33.e708) unstable; urgency=medium +osmo-bts (1.6.0.34.8e04) unstable; urgency=medium * Automatically generated changelog entry for building the Osmocom master feed - -- Osmocom OBS scripts <info@osmocom.org> Tue, 21 Mar 2023 13:04:53 +0000 + -- Osmocom OBS scripts <info@osmocom.org> Wed, 22 Mar 2023 12:24:56 +0000 osmo-bts (1.6.0) unstable; urgency=medium
View file
osmo-bts_1.6.0.33.e708.tar.xz/include/osmo-bts/gsm_data.h -> osmo-bts_1.6.0.34.8e04.tar.xz/include/osmo-bts/gsm_data.h
Changed
@@ -58,6 +58,7 @@ /* lchans 0..3 are SDCCH in combined channel configuration, use 4 as magic number for BCCH hack - see osmo-bts-../oml.c:opstart_compl() */ #define CCCH_LCHAN 4 +#define CBCH_LCHAN 2 #define TRX_NR_TS 8 #define TS_MAX_LCHAN 8
View file
osmo-bts_1.6.0.33.e708.tar.xz/include/osmo-bts/scheduler.h -> osmo-bts_1.6.0.34.8e04.tar.xz/include/osmo-bts/scheduler.h
Changed
@@ -5,13 +5,6 @@ #include <osmo-bts/gsm_data.h> -/* Whether a logical channel must be activated automatically */ -#define TRX_CHAN_FLAG_AUTO_ACTIVE (1 << 0) - -/* FIXME: we should actually activate 'auto-active' channels */ -#define TRX_CHAN_IS_ACTIVE(state, chan) \ - (trx_chan_descchan.flags & TRX_CHAN_FLAG_AUTO_ACTIVE || (state)->active) - #define TRX_GMSK_NB_TSC(br) \ _sched_train_seq_gmsk_nb(br)->tsc_set(br)->tsc @@ -192,6 +185,9 @@ /*! \brief set all matching logical channels active/inactive */ int trx_sched_set_lchan(struct gsm_lchan *lchan, uint8_t chan_nr, uint8_t link_id, bool active); +/*! \brief set all logical channels of BCCH/CCCH active/inactive */ +int trx_sched_set_bcch_ccch(struct gsm_lchan *lchan, bool active); + /*! \brief set mode of all matching logical channels to given mode(s) */ int trx_sched_set_mode(struct gsm_bts_trx_ts *ts, uint8_t chan_nr, uint8_t rsl_cmode, uint8_t tch_mode, int codecs, uint8_t codec0, uint8_t codec1,
View file
osmo-bts_1.6.0.33.e708.tar.xz/src/common/scheduler.c -> osmo-bts_1.6.0.34.8e04.tar.xz/src/common/scheduler.c
Changed
@@ -150,7 +150,6 @@ .desc = "Frequency correction channel", /* Tx only, frequency correction bursts */ - .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, .dl_fn = tx_fcch_fn, }, TRXC_SCH = { @@ -158,7 +157,6 @@ .desc = "Synchronization channel", /* Tx only, synchronization bursts */ - .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, .dl_fn = tx_sch_fn, }, TRXC_BCCH = { @@ -169,7 +167,6 @@ /* Tx only, xCCH convolutional coding (3GPP TS 05.03, section 4.4), * regular interleaving (3GPP TS 05.02, clause 7, table 3): * a L2 frame is interleaved over 4 consecutive bursts. */ - .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, }, @@ -179,7 +176,6 @@ .chan_nr = RSL_CHAN_RACH, /* Rx only, RACH convolutional coding (3GPP TS 05.03, section 4.6). */ - .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, .ul_fn = rx_rach_fn, }, TRXC_CCCH = { @@ -190,7 +186,6 @@ /* Tx only, xCCH convolutional coding (3GPP TS 05.03, section 4.4), * regular interleaving (3GPP TS 05.02, clause 7, table 3): * a L2 frame is interleaved over 4 consecutive bursts. */ - .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, }, @@ -575,7 +570,6 @@ .chan_nr = RSL_CHAN_OSMO_CBCH4, /* Tx only, same as for TRXC_BCCH (xCCH), see above. */ - .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, }, @@ -1062,6 +1056,52 @@ } } +static void _trx_sched_set_lchan(struct gsm_lchan *lchan, + enum trx_chan_type chan, + bool active) +{ + struct l1sched_ts *l1ts = lchan->ts->priv; + struct l1sched_chan_state *chan_state; + + OSMO_ASSERT(l1ts != NULL); + chan_state = &l1ts->chan_statechan; + + LOGPLCHAN(lchan, DL1C, LOGL_INFO, "%s %s\n", + (active) ? "Activating" : "Deactivating", + trx_chan_descchan.name); + + /* free burst memory, to cleanly start with burst 0 */ + if (chan_state->dl_bursts) { + talloc_free(chan_state->dl_bursts); + chan_state->dl_bursts = NULL; + } + if (chan_state->ul_bursts) { + talloc_free(chan_state->ul_bursts); + chan_state->ul_bursts = NULL; + } + if (chan_state->ul_bursts_prev) { + talloc_free(chan_state->ul_bursts_prev); + chan_state->ul_bursts_prev = NULL; + } + + if (active) { + /* Clean up everything */ + memset(chan_state, 0, sizeof(*chan_state)); + + /* Bind to generic 'struct gsm_lchan' */ + chan_state->lchan = lchan; + } else { + chan_state->ho_rach_detect = 0; + + /* Remove pending Tx prims belonging to this lchan */ + trx_sched_queue_filter(&l1ts->dl_prims, + trx_chan_descchan.chan_nr, + trx_chan_descchan.link_id); + } + + chan_state->active = active; +} + /* setting all logical channels given attributes to active/inactive */ int trx_sched_set_lchan(struct gsm_lchan *lchan, uint8_t chan_nr, uint8_t link_id, bool active) { @@ -1069,7 +1109,6 @@ uint8_t tn = L1SAP_CHAN2TS(chan_nr); uint8_t ss = l1sap_chan2ss(chan_nr); bool found = false; - int i; if (!l1ts) { LOGPLCHAN(lchan, DL1C, LOGL_ERROR, "%s lchan with uninitialized scheduler structure\n", @@ -1083,48 +1122,15 @@ chan_nr &= ~RSL_CHAN_OSMO_VAMOS_MASK; /* look for all matching chan_nr/link_id */ - for (i = 0; i < _TRX_CHAN_MAX; i++) { - struct l1sched_chan_state *chan_state = &l1ts->chan_statei; - - if (trx_chan_desci.chan_nr != (chan_nr & RSL_CHAN_NR_MASK)) + for (enum trx_chan_type chan = 0; chan < _TRX_CHAN_MAX; chan++) { + if (trx_chan_descchan.chan_nr != (chan_nr & RSL_CHAN_NR_MASK)) continue; - if (trx_chan_desci.link_id != link_id) + if (trx_chan_descchan.link_id != link_id) continue; - if (chan_state->active == active) + if (l1ts->chan_statechan.active == active) continue; found = true; - - LOGPLCHAN(lchan, DL1C, LOGL_INFO, "%s %s\n", - (active) ? "Activating" : "Deactivating", - trx_chan_desci.name); - /* free burst memory, to cleanly start with burst 0 */ - if (chan_state->dl_bursts) { - talloc_free(chan_state->dl_bursts); - chan_state->dl_bursts = NULL; - } - if (chan_state->ul_bursts) { - talloc_free(chan_state->ul_bursts); - chan_state->ul_bursts = NULL; - } - if (chan_state->ul_bursts_prev) { - talloc_free(chan_state->ul_bursts_prev); - chan_state->ul_bursts_prev = NULL; - } - - if (active) { - /* Clean up everything */ - memset(chan_state, 0, sizeof(*chan_state)); - - /* Bind to generic 'struct gsm_lchan' */ - chan_state->lchan = lchan; - } else { - chan_state->ho_rach_detect = 0; - - /* Remove pending Tx prims belonging to this lchan */ - trx_sched_queue_filter(&l1ts->dl_prims, chan_nr, link_id); - } - - chan_state->active = active; + _trx_sched_set_lchan(lchan, chan, active); } /* disable handover detection (on deactivation) */ @@ -1134,6 +1140,31 @@ return found ? 0 : -EINVAL; } +int trx_sched_set_bcch_ccch(struct gsm_lchan *lchan, bool active) +{ + struct l1sched_ts *l1ts = lchan->ts->priv; + static const enum trx_chan_type chans = { + TRXC_FCCH, + TRXC_SCH, + TRXC_BCCH, + TRXC_RACH, + TRXC_CCCH, + }; + + if (!l1ts) + return -EINVAL; + + for (unsigned int i = 0; i < ARRAY_SIZE(chans); i++) { + enum trx_chan_type chan = chansi; + + if (l1ts->chan_statechan.active == active) + continue; + _trx_sched_set_lchan(lchan, chan, active); + } + + return 0; +} + /* setting all logical channels given attributes to active/inactive */ int trx_sched_set_mode(struct gsm_bts_trx_ts *ts, uint8_t chan_nr, uint8_t rsl_cmode, uint8_t tch_mode, int codecs, uint8_t codec0, uint8_t codec1, @@ -1277,7 +1308,7 @@ return 0; /* check if channel is active */ - if (!TRX_CHAN_IS_ACTIVE(&l1ts->chan_statechan, chan)) + if (!l1ts->chan_statechan.active) return -EINVAL; /* There is no burst, just for logging */ @@ -1334,7 +1365,7 @@ l1cs = &l1ts->chan_statebr->chan; /* check if channel is active */ - if (!TRX_CHAN_IS_ACTIVE(l1cs, br->chan)) + if (!l1cs->active) return; /* Training Sequence Code and Set */ @@ -1523,7 +1554,7 @@ func = trx_chan_descbi->chan.ul_fn; /* check if channel is active */ - if (!TRX_CHAN_IS_ACTIVE(l1cs, bi->chan)) { + if (!l1cs->active) { /* handle noise measurements on dedicated and idle channels */ if (TRX_CHAN_IS_DEDIC(bi->chan) || bi->chan == TRXC_IDLE) trx_sched_noise_meas(l1cs, bi);
View file
osmo-bts_1.6.0.33.e708.tar.xz/src/osmo-bts-trx/l1_if.c -> osmo-bts_1.6.0.34.8e04.tar.xz/src/osmo-bts-trx/l1_if.c
Changed
@@ -270,11 +270,26 @@ if (rc) return NM_NACK_RES_NOTAVAIL; - /* activate lchan for CCCH */ - if (pchan == GSM_PCHAN_CCCH || pchan == GSM_PCHAN_CCCH_SDCCH4 || - pchan == GSM_PCHAN_CCCH_SDCCH4_CBCH) { + /* activate lchans for CBCH/BCCH/CCCH */ + switch (pchan) { + case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: + /* using RSL_CHAN_OSMO_CBCH4 is correct here, because the scheduler + * does not distinguish between SDCCH/4+CBCH abd SDCCH/8+CBCH. */ + trx_sched_set_lchan(&ts->lchanCBCH_LCHAN, + RSL_CHAN_OSMO_CBCH4, LID_DEDIC, true); + break; + case GSM_PCHAN_CCCH_SDCCH4_CBCH: + trx_sched_set_lchan(&ts->lchanCBCH_LCHAN, + RSL_CHAN_OSMO_CBCH4, LID_DEDIC, true); + /* fall-through */ + case GSM_PCHAN_CCCH_SDCCH4: + case GSM_PCHAN_CCCH: + trx_sched_set_bcch_ccch(&ts->lchanCCCH_LCHAN, true); ts->lchanCCCH_LCHAN.rel_act_kind = LCHAN_REL_ACT_OML; lchan_set_state(&ts->lchanCCCH_LCHAN, LCHAN_S_ACTIVE); + break; + default: + break; } slottype = transceiver_chan_typespchan;
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.