fixeria has submitted this change. ( 
https://gerrit.osmocom.org/c/osmocom-bb/+/30327 )

Change subject: mobile: allow enabling/disabling handling of voice in the L1PHY
......................................................................

mobile: allow enabling/disabling handling of voice in the L1PHY

Some L1PHY targets (e.g. Calypso based Mot C1xx phones) have built in
microphone and speaker.  Some targets do not have them.  Currently we
unconditionally instruct the L1PHY to handle TCH frames internally.
Make this behavior configurable via the VTY interface.

Change-Id: I131f213ef7c2736f7310f0183b83f3bc3064cd98
Related: OS#5599
---
M src/host/layer23/include/osmocom/bb/mobile/settings.h
M src/host/layer23/src/mobile/gsm48_rr.c
M src/host/layer23/src/mobile/settings.c
M src/host/layer23/src/mobile/vty_interface.c
4 files changed, 19 insertions(+), 4 deletions(-)

Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved



diff --git a/src/host/layer23/include/osmocom/bb/mobile/settings.h 
b/src/host/layer23/include/osmocom/bb/mobile/settings.h
index d5620ff..8edde53 100644
--- a/src/host/layer23/include/osmocom/bb/mobile/settings.h
+++ b/src/host/layer23/include/osmocom/bb/mobile/settings.h
@@ -17,6 +17,8 @@
 enum audio_io_handler {
        /* No handler, drop frames */
        AUDIO_IOH_NONE = 0,
+       /* L1 PHY (e.g. Calypso DSP) */
+       AUDIO_IOH_L1PHY,
        /* Return to sender */
        AUDIO_IOH_LOOPBACK,
 };
diff --git a/src/host/layer23/src/mobile/gsm48_rr.c 
b/src/host/layer23/src/mobile/gsm48_rr.c
index 1c7036c..8b4c123 100644
--- a/src/host/layer23/src/mobile/gsm48_rr.c
+++ b/src/host/layer23/src/mobile/gsm48_rr.c
@@ -5593,9 +5593,20 @@

        start_rr_t_meas(rr, 1, 0);

-       rr->audio_mode = AUDIO_TX_MICROPHONE | AUDIO_RX_SPEAKER;
        rr->tch_loop_mode = L1CTL_TCH_LOOP_OPEN;

+       /* Configure audio handling in the L1PHY */
+       switch (ms->settings.audio.io_handler) {
+       case AUDIO_IOH_L1PHY:
+               rr->audio_mode = AUDIO_RX_SPEAKER | AUDIO_TX_MICROPHONE;
+               break;
+       case AUDIO_IOH_LOOPBACK:
+               rr->audio_mode = AUDIO_RX_TRAFFIC_IND | AUDIO_TX_TRAFFIC_REQ;
+               break;
+       case AUDIO_IOH_NONE:
+               rr->audio_mode = 0x00;
+       }
+
        return 0;
 }

diff --git a/src/host/layer23/src/mobile/settings.c 
b/src/host/layer23/src/mobile/settings.c
index 3444d66..10e9984 100644
--- a/src/host/layer23/src/mobile/settings.c
+++ b/src/host/layer23/src/mobile/settings.c
@@ -203,6 +203,7 @@

 const struct value_string audio_io_handler_names[] = {
        { AUDIO_IOH_NONE,       "none" },
+       { AUDIO_IOH_L1PHY,      "l1phy" },
        { AUDIO_IOH_LOOPBACK,   "loopback" },
        { 0x00, NULL}
 };
diff --git a/src/host/layer23/src/mobile/vty_interface.c 
b/src/host/layer23/src/mobile/vty_interface.c
index 9c3e429..e3005ca 100644
--- a/src/host/layer23/src/mobile/vty_interface.c
+++ b/src/host/layer23/src/mobile/vty_interface.c
@@ -2831,10 +2831,11 @@
 }

 DEFUN(cfg_ms_audio_io_handler, cfg_ms_audio_io_handler_cmd,
-       "io-handler (loopback|none)",
+       "io-handler (none|l1phy|loopback)",
        "Set TCH frame I/O handler\n"
-       "Return TCH frame payload back to sender\n"
-       "No handler, drop TCH frames (default)")
+       "No handler, drop TCH frames (default)\n"
+       "L1 PHY (e.g. Calypso DSP in Motorola C1xx phones)\n"
+       "Return TCH frame payload back to sender\n")
 {
        int val = get_string_value(audio_io_handler_names, argv[0]);
        return set_audio_io_handler(vty, val);

--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/30327
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I131f213ef7c2736f7310f0183b83f3bc3064cd98
Gerrit-Change-Number: 30327
Gerrit-PatchSet: 3
Gerrit-Owner: fixeria <vyanits...@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanits...@sysmocom.de>
Gerrit-Reviewer: laforge <lafo...@osmocom.org>
Gerrit-Reviewer: pespin <pes...@sysmocom.de>
Gerrit-CC: msuraev <msur...@sysmocom.de>
Gerrit-MessageType: merged

Reply via email to