diff options
author | Harald Welte <laforge@gnumonks.org> | 2013-03-07 10:07:18 +0000 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2013-03-07 10:07:18 +0000 |
commit | 19f212951af720bc5ad415d8347838f3ac222442 (patch) | |
tree | ae8f6a9dacde7e6d22ad3f79f797beb19aa126f3 /src/osmo-bts-sysmo/l1_if.c | |
parent | cf4e3501a1620e8120b90acb3146772cdacaa8e6 (diff) |
l1_if: if ul_power_target==0, hard-code MS power to what RSL says
RSL CHAN ACT contains a MS_POWER IE which is intended to be used as the
initial power level for the MS, before the UL power control loop is
starting.
In our case, if ul_power_target != 0, then the DSP takes care of power
control. If ul_power_target == 0, then we instruct the phone to
constantly use the value specified by the BSC in the MS_POWER IE.
FIXME: Actually implement a proper power control algoritihm inside
osmo-bts so we don't have to rely on the DSP implementation.
Diffstat (limited to 'src/osmo-bts-sysmo/l1_if.c')
-rw-r--r-- | src/osmo-bts-sysmo/l1_if.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/osmo-bts-sysmo/l1_if.c b/src/osmo-bts-sysmo/l1_if.c index 71105061..9b05267f 100644 --- a/src/osmo-bts-sysmo/l1_if.c +++ b/src/osmo-bts-sysmo/l1_if.c @@ -472,6 +472,10 @@ static int handle_ph_readytosend_ind(struct femtol1_hdl *fl1, /* resolve the L2 entity using rts_ind->hLayer2 */ lchan = l1if_hLayer_to_lchan(trx, rts_ind->hLayer2); le = &lchan->lapdm_ch.lapdm_acch; + /* if the DSP is taking care of power control + * (ul_power_target==0), then this value will be + * overridden. */ + msu_param->u8Buffer[0] = lchan->ms_power; rc = lapdm_phsap_dequeue_prim(le, &pp); if (rc < 0) { /* No SACCH data from LAPDM pending, send SACCH filling */ |