diff options
author | Harald Welte <laforge@gnumonks.org> | 2012-03-07 18:05:18 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2012-03-07 18:05:18 +0100 |
commit | f1cbd819848684de82042d3930d1e88fbc2d4714 (patch) | |
tree | ceaa6c67913afdc135853db6fa6ba2aadc7fe2fc /src/osmo-bts-sysmo/l1_transp_hw.c | |
parent | 818cb2d3145a2a20b40a3c98d190ec6700116b39 (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.c | 26 |
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 */ |