aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-sysmo/l1_transp_hw.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2012-03-07 18:05:18 +0100
committerHarald Welte <laforge@gnumonks.org>2012-03-07 18:05:18 +0100
commitf1cbd819848684de82042d3930d1e88fbc2d4714 (patch)
treeceaa6c67913afdc135853db6fa6ba2aadc7fe2fc /src/osmo-bts-sysmo/l1_transp_hw.c
parent818cb2d3145a2a20b40a3c98d190ec6700116b39 (diff)
prepare for splitting L1 queue into signalling/tch/pdtch
We don't use multiple queues yet, but we very well might end up using them soon.
Diffstat (limited to 'src/osmo-bts-sysmo/l1_transp_hw.c')
-rw-r--r--src/osmo-bts-sysmo/l1_transp_hw.c26
1 files changed, 23 insertions, 3 deletions
diff --git a/src/osmo-bts-sysmo/l1_transp_hw.c b/src/osmo-bts-sysmo/l1_transp_hw.c
index d7e01e92..dbdc48d0 100644
--- a/src/osmo-bts-sysmo/l1_transp_hw.c
+++ b/src/osmo-bts-sysmo/l1_transp_hw.c
@@ -46,19 +46,35 @@
#include "l1_transp.h"
+#ifdef HW_VERSION_1
#define DEV_SYS_DSP2ARM_NAME "/dev/msgq/femtobts_dsp2arm"
#define DEV_SYS_ARM2DSP_NAME "/dev/msgq/femtobts_arm2dsp"
#define DEV_L1_DSP2ARM_NAME "/dev/msgq/gsml1_dsp2arm"
#define DEV_L1_ARM2DSP_NAME "/dev/msgq/gsml1_arm2dsp"
+#else
+#define DEV_SYS_DSP2ARM_NAME "/dev/msgq/superfemto_dsp2arm"
+#define DEV_SYS_ARM2DSP_NAME "/dev/msgq/superfemto_arm2dsp"
+#define DEV_L1_DSP2ARM_NAME "/dev/msgq/gsml1_sig_dsp2arm"
+#define DEV_L1_ARM2DSP_NAME "/dev/msgq/gsml1_sig_arm2dsp"
+#endif
+
+#define DEV_TCH_DSP2ARM_NAME "/dev/msgq/gsml1_tch_dsp2arm"
+#define DEV_TCH_ARM2DSP_NAME "/dev/msgq/gsml1_tch_arm2dsp"
+#define DEV_PDTCH_DSP2ARM_NAME "/dev/msgq/gsml1_pdtch_dsp2arm"
+#define DEV_PDTCH_ARM2DSP_NAME "/dev/msgq/gsml1_pdtch_arm2dsp"
static const char *rd_devnames[] = {
[MQ_SYS_READ] = DEV_SYS_DSP2ARM_NAME,
[MQ_L1_READ] = DEV_L1_DSP2ARM_NAME,
+ [MQ_TCH_READ] = DEV_TCH_DSP2ARM_NAME,
+ [MQ_PDTCH_READ] = DEV_PDTCH_DSP2ARM_NAME,
};
static const char *wr_devnames[] = {
[MQ_SYS_WRITE] = DEV_SYS_ARM2DSP_NAME,
[MQ_L1_WRITE] = DEV_L1_ARM2DSP_NAME,
+ [MQ_TCH_WRITE] = DEV_TCH_ARM2DSP_NAME,
+ [MQ_PDTCH_WRITE]= DEV_PDTCH_ARM2DSP_NAME,
};
/* callback when there's something to read from the l1 msg_queue */
@@ -80,10 +96,14 @@ static int l1if_fd_cb(struct osmo_fd *ofd, unsigned int what)
}
msgb_put(msg, rc);
- if (ofd->priv_nr == MQ_L1_WRITE)
- return l1if_handle_l1prim(fl1h, msg);
- else
+ switch (ofd->priv_nr) {
+ case MQ_SYS_WRITE:
return l1if_handle_sysprim(fl1h, msg);
+ case MQ_L1_WRITE:
+ case MQ_TCH_WRITE:
+ case MQ_PDTCH_WRITE:
+ return l1if_handle_l1prim(fl1h, msg);
+ }
};
/* callback when we can write to one of the l1 msg_queue devices */