aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bsc/nm_bb_transc_fsm.c
AgeCommit message (Collapse)AuthorFilesLines
2022-06-02nm_*_fsm: Remove comment no longer applyingPau Espin Pedrol1-2/+0
Since b7ef6884f91db7ffe7add51766abc311c9e7d05e, the state is updated before triggering the signal S_NM_STATECHG, so the warning does no longer hold true. Change-Id: I7b7dd30b4fcdc92febca42e3e6a75e6f98e184ff
2022-05-13Introduce new signal S_NM_RUNNING_CHG and implement it for rcarrier,bbtranscPau Espin Pedrol1-1/+22
This allows different parts of the code to hook to some signals which allow start/stopping processes based, for instance, on whether C0 is available or not. This can be later used by paging or CBSP code. Also ACC code can be ported to this new system (acc_ramp_nm_sig_cb()). Same signal can be used for other NM objects, but is left unimplemented until there's use for them. Change-Id: I206d4c7863a77fbab6a600126742a6a6b8fc3614
2022-05-06nm_statechg_signal_data: Convert state ptr to dataPau Espin Pedrol1-4/+4
There's no need to use pointers there, it is only asking for errors from code handling the data structe from the signal by attempting to change them. Even for mem size point of view it doesn't make sense, since it's 3 byte vs a 4 byte pointer. Furthermore, this is a preparation for new commit, where the NM object current state will be updated before emitting the signal. This patch eases a lot the follow up mentioned patch. Change-Id: I9b648dfd8392b7b40bfe2b38f3345017481f5129
2022-05-05constify state pointers of struct gsm_nm_statePau Espin Pedrol1-5/+5
This makes sure code accessing those fields is not changing its values, since it would make no sense to change those. Follow up commit will make convert those pointers to be full structs instead, as there's no need to have pointers there. Change-Id: I9979e62eac861e25bbe2161ab187ddb2b40fd097
2021-05-28RSL link: explicitly select rsl_link based on lchanNeels Hofmeyr1-1/+1
Prepare for VAMOS, where there will be secondary "shadow" lchans serving secondary MS on the same timeslots. For those, RSL messages will need to reflect a different stream ID aka TEI, via an rsl_link_vamos. Make sure that every code path that sends an RSL message for a specific lchan selects the RSL link via the new function rsl_chan_link(). When VAMOS is implemented, this function can select the proper RSL stream. Rename gsm_bts_trx.rsl_link to rsl_link_primary. This makes sure I'm not missing any uses of the RSL link, and clarifies the code. Related: SYS#5315 OS#4940 Change-Id: Ifbf16bb296e91f151d19e15e39f5c953ad77ff17
2020-12-13NM FSMs: fix DISABLED_NOTINSTALLED -> DISABLED_NOTINSTALLEDVadim Yanitskiy1-1/+2
This state transaction does not make sense, let's avoid it. Change-Id: I24a78905bb684f8501dc5ade0605662ec283febc Related: OS#4901
2020-12-04Handle BTS/BBTRANSC Get Attributes (Ack) in NM FSMsPau Espin Pedrol1-4/+33
Before this patch, Get Attributes was sent quicklyafter the OML link became up, even if the BTS/BB_TRANSC objects were still powered off, which is wrong since attributes should only be available after the objects transition out of the Power off state. Furthermore, information about get attr response already received will be required in future patches to delay NSVC setting. Related: OS#4870 Change-Id: I8ec39c7e1f956ffce9aecd58a5590c43200ba086
2020-12-03Store GPRS MOs directly under BTS SiteMgr objectPau Espin Pedrol1-2/+2
The only real 1-1 relationship between BTS NM objects is the one between GPRS Cell and BTS (which is actually a BTS cell). In our current osmo-bts implementation we don't care much since we only handle 1-cell BTSses, but let's make the data structure organization more generic. Implementation notes: The gsm_bts_sm is moved to its own file, APIs to allocate are added and the new public object is hooked correctly in the allocation process of osmo-bsc. Change-Id: I06461b7784fa2a78de37383406e35beae85fbad8
2020-10-15OML: Stay compatible with older osmo-bts versionsPau Espin Pedrol1-6/+3
Older osmo-bts versions (before FSMs) tended to mimic broken behavior from nanoBTS. As so, we detect it because SiteMGr becomes Enabled by default as in nanoBTS, and hence we can manage them also by expecting no Offline state and sending Opstart (and hence finally transitting to Enabled) during Dependency state. Change-Id: Iaa036a2936f609b9b9721b2b4ad8d6deaf023f42
2020-10-15Introduce NM BaseBand Transceiver FSMPau Espin Pedrol1-0/+337
Change-Id: Ib4d35316c52eb4c71ea0d352a1e06fd5e600fe08