aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-sysmo/l1_if.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2011-07-05 12:21:27 +0200
committerHarald Welte <laforge@gnumonks.org>2011-07-05 12:21:27 +0200
commit12b647998c54defd62406a87e7615efa55c6537f (patch)
tree0c9711046dc859070b291c30af4be64a19fd858c /src/osmo-bts-sysmo/l1_if.c
parentead4863de1e1e4482deecb74bf909a22cd8164e5 (diff)
add VTY commands for setting and showing DSP trace flags
Diffstat (limited to 'src/osmo-bts-sysmo/l1_if.c')
-rw-r--r--src/osmo-bts-sysmo/l1_if.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/osmo-bts-sysmo/l1_if.c b/src/osmo-bts-sysmo/l1_if.c
index 38a1ac8c..a850b3c2 100644
--- a/src/osmo-bts-sysmo/l1_if.c
+++ b/src/osmo-bts-sysmo/l1_if.c
@@ -669,6 +669,10 @@ static int reset_compl_cb(struct msgb *resp, void *data)
bts_shutdown(trx->bts, "L1-RESET failure");
}
+ /* as we cannot get the current DSP trace flags, we simply
+ * set them to zero (or whatever dsp_trace_f has been initialized to */
+ l1if_set_trace_flags(fl1h, fl1h->dsp_trace_f);
+
/* otherwise, request activation of RF board */
l1if_activate_rf(fl1h, 1);
@@ -684,6 +688,24 @@ int l1if_reset(struct femtol1_hdl *hdl)
return l1if_req_compl(hdl, msg, 1, reset_compl_cb, hdl);
}
+/* set the trace flags within the DSP */
+int l1if_set_trace_flags(struct femtol1_hdl *hdl, uint32_t flags)
+{
+ struct msgb *msg = sysp_msgb_alloc();
+ FemtoBts_Prim_t *sysp = msgb_sysprim(msg);
+
+ LOGP(DL1C, LOGL_INFO, "Tx SET-TRACE-FLAGS.req (0x%08x)\n",
+ flags);
+
+ sysp->id = FemtoBts_PrimId_SetTraceFlagsReq;
+ sysp->u.setTraceFlagsReq.u32Tf = flags;
+
+ hdl->dsp_trace_f = flags;
+
+ /* There is no confirmation we could wait for */
+ return osmo_wqueue_enqueue(&hdl->write_q[MQ_SYS_WRITE], msg);
+}
+
struct femtol1_hdl *l1if_open(void *priv)
{
struct femtol1_hdl *fl1h;