bsc: Add define for ts_as_pchan_for_each_lchan with ts->pchan_on_init
It will be used further in follow-up patches. It also provides a place to document its (intricate) logic around it and its possible uses. Change-Id: Ia1d4bdbfca6b9719f54ee609b6bfadf7f3a4bb43
This commit is contained in:
parent
ab9a259cd2
commit
0ba20df9ee
|
@ -478,6 +478,19 @@ struct gsm_encr {
|
|||
*/
|
||||
#define ts_for_each_lchan(lchan, ts) ts_as_pchan_for_each_lchan(lchan, ts, (ts)->pchan_is)
|
||||
|
||||
/* Iterate over all possible lchans available that have an FSM allocated based
|
||||
* on PCHAN \ref ts (dynamic) configuration.
|
||||
* Iterate all lchan instances set up by this \ref ts type, including those
|
||||
* lchans currently disabled or in process of being enabled (e.g. due to dynamic
|
||||
* timeslot in switchover). Compare ts_for_each_lchan(), which iterates only the
|
||||
* enabled lchans.
|
||||
* For example, it is useful in case dynamic timeslot \ref ts is in process of
|
||||
* switching from configuration PDCH (no lchans) to TCH_F (1 lchan), where
|
||||
* pchan_is is still set to PDCH but \ref ts may contain already an \ref lchan
|
||||
* of type TCH_F which initiated the request to switch the \ts configuration.
|
||||
*/
|
||||
#define ts_for_each_potential_lchan(lchan, ts) ts_as_pchan_for_each_lchan(lchan, ts, (ts)->pchan_on_init)
|
||||
|
||||
enum lchan_activate_mode {
|
||||
FOR_NONE,
|
||||
FOR_MS_CHANNEL_REQUEST,
|
||||
|
|
|
@ -550,7 +550,7 @@ static void ts_fsm_in_use_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state)
|
|||
ts->pdch_act_allowed = true;
|
||||
|
||||
/* For static TS, check validity. For dyn TS, figure out which PCHAN this should become. */
|
||||
ts_as_pchan_for_each_lchan(lchan, ts, ts->pchan_on_init) {
|
||||
ts_for_each_potential_lchan(lchan, ts) {
|
||||
if (lchan_state_is(lchan, LCHAN_ST_UNUSED))
|
||||
continue;
|
||||
|
||||
|
|
Loading…
Reference in New Issue