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 | |
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')
-rw-r--r-- | src/osmo-bts-sysmo/l1_fwd.h | 2 | ||||
-rw-r--r-- | src/osmo-bts-sysmo/l1_if.h | 4 | ||||
-rw-r--r-- | src/osmo-bts-sysmo/l1_transp_fwd.c | 2 | ||||
-rw-r--r-- | src/osmo-bts-sysmo/l1_transp_hw.c | 26 |
4 files changed, 31 insertions, 3 deletions
diff --git a/src/osmo-bts-sysmo/l1_fwd.h b/src/osmo-bts-sysmo/l1_fwd.h index 0c355499..55397920 100644 --- a/src/osmo-bts-sysmo/l1_fwd.h +++ b/src/osmo-bts-sysmo/l1_fwd.h @@ -1,3 +1,5 @@ #define L1FWD_L1_PORT 9999 #define L1FWD_SYS_PORT 9998 +#define L1FWD_TCH_PORT 9997 +#define L1FWD_PDTCH_PORT 9996 diff --git a/src/osmo-bts-sysmo/l1_if.h b/src/osmo-bts-sysmo/l1_if.h index 1b150d38..b6209dae 100644 --- a/src/osmo-bts-sysmo/l1_if.h +++ b/src/osmo-bts-sysmo/l1_if.h @@ -8,12 +8,16 @@ enum { MQ_SYS_READ, MQ_L1_READ, + MQ_TCH_READ, + MQ_PDTCH_READ, _NUM_MQ_READ }; enum { MQ_SYS_WRITE, MQ_L1_WRITE, + MQ_TCH_WRITE, + MQ_PDTCH_WRITE, _NUM_MQ_WRITE }; diff --git a/src/osmo-bts-sysmo/l1_transp_fwd.c b/src/osmo-bts-sysmo/l1_transp_fwd.c index ad64e7bd..e759ee13 100644 --- a/src/osmo-bts-sysmo/l1_transp_fwd.c +++ b/src/osmo-bts-sysmo/l1_transp_fwd.c @@ -56,6 +56,8 @@ static const uint16_t fwd_udp_ports[] = { [MQ_SYS_WRITE] = L1FWD_SYS_PORT, [MQ_L1_WRITE] = L1FWD_L1_PORT, + [MQ_TCH_WRITE] = L1FWD_TCH_PORT, + [MQ_PDTCH_WRITE]= L1FWD_PDTCH_PORT, }; static int fwd_read_cb(struct osmo_fd *ofd) 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 */ |