aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-trx/l1_if.c
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2013-03-26 09:05:14 +0100
committerHarald Welte <laforge@gnumonks.org>2015-09-22 16:41:27 +0200
commita7f5e077121f857e373b6e68c5fdf803933a12dc (patch)
tree57c91123c5757ef1a84e3f9bc7aeaa4ea9f3e18b /src/osmo-bts-trx/l1_if.c
parent5e2341411f25f4faa66ff9b4506e77d897b97daf (diff)
TRX: Support for AMR full speech
Diffstat (limited to 'src/osmo-bts-trx/l1_if.c')
-rw-r--r--src/osmo-bts-trx/l1_if.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c
index 61c02cd4..9dbec31b 100644
--- a/src/osmo-bts-trx/l1_if.c
+++ b/src/osmo-bts-trx/l1_if.c
@@ -33,6 +33,7 @@
#include <osmo-bts/rsl.h>
#include <osmo-bts/l1sap.h>
#include <osmo-bts/bts_model.h>
+#include <osmo-bts/amr.h>
#include "l1_if.h"
#include "trx_if.h"
@@ -476,7 +477,13 @@ int bts_model_l1sap_down(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap)
trx_sched_set_lchan(l1h, chan_nr, 0x40, 1);
/* set mode */
trx_sched_set_mode(l1h, chan_nr,
- lchan->rsl_cmode, lchan->tch_mode);
+ lchan->rsl_cmode, lchan->tch_mode,
+ lchan->tch.amr_mr.num_modes,
+ lchan->tch.amr_mr.mode[0].mode,
+ lchan->tch.amr_mr.mode[1].mode,
+ lchan->tch.amr_mr.mode[2].mode,
+ lchan->tch.amr_mr.mode[3].mode,
+ amr_get_initial_mode(lchan));
/* init lapdm */
lchan_init_lapdm(lchan);
/* confirm */
@@ -487,7 +494,13 @@ int bts_model_l1sap_down(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap)
if (l1sap->u.info.type == PRIM_INFO_MODIFY) {
/* change mode */
trx_sched_set_mode(l1h, chan_nr,
- lchan->rsl_cmode, lchan->tch_mode);
+ lchan->rsl_cmode, lchan->tch_mode,
+ lchan->tch.amr_mr.num_modes,
+ lchan->tch.amr_mr.mode[0].mode,
+ lchan->tch.amr_mr.mode[1].mode,
+ lchan->tch.amr_mr.mode[2].mode,
+ lchan->tch.amr_mr.mode[3].mode,
+ amr_get_initial_mode(lchan));
break;
}
if ((chan_nr & 0x80)) {