diff options
author | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2008-03-07 00:45:53 +0000 |
---|---|---|
committer | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2008-03-07 00:45:53 +0000 |
commit | 1a571d19740d87e24b92ef49a2d38b26256112ae (patch) | |
tree | 8490182ea096b25f977d73c8c7a89b286014b94c /kernel/xpp/xbus-core.h | |
parent | 92d02c5fadec34a75c085e9f95eeab268c3683c8 (diff) |
xpp.r5512:
* Build:
- Zaptel >= 1.4.9 is migrating to storing kernel stuff in zaptel/kernel/*
- We conditionally use old/new directory scheme:
In xpp/Kbuild and xpp/utils/Makefile use ZAP_KERNEL variable, so it's
not confused with ZAPTEL_DIR (which appears in zaptel/Makefile as well).
- Fix compile warnings on 64 bit systems.
- Compile fixes for kernel-2.6.24
* UDEV:
- /etc/udev/rules.d/xpp.rules now uses XPP_INIT_DIR to find astribank_hook.
- astribank_hook: Modify to do nothing. Add some documentation.
* Autoconfiguration -- zapconf:
- Don't fail zapconf et.al. if no config file was found.
- Skip the 'IRQ Missing:' line in /proc/zaptel/nnn for wcte1xp(?).
- Add some newer Digium cards to our hardware inventory.
- Partially handle cases where the /proc/zaptel strings does not contain
info about E1/T1/J1 or NT/TE.
* Better SYNC:
- Finer tuning of PLL (New firmware).
- Change calculation algorithm of sync offset. It now copes better
with the variance in USB frame reception timing.
- Statistics:
. The view of results was moved from /proc/xpp/XBUS-*/summary to
a new /sys/bus/astribanks/devices/xbus-*/timing and enhanced.
. A new xpp_timing script shows all astribanks.
. A new write only /sys/bus/astribanks/devices/xbus-*/cls is
used to clear statistics. Eventually, clearing of XBUS related
statistics should be done here. One that was migrated is the
clearing of 'PCM [TR]X:' numbers currently appearing in
/proc/xpp/XBUS-*/summary (they should be moved too later).
- Shorten the strings representation sync_mode ("SYNC_MODE_AB" -> "AB")
adapted their use in printk and /proc so the text is clear.
- Added a command line parameter xpp.disable_pll_sync to stop all
adjustments command to AB (calculations still continue as usual).
* PRI:
- 4 port support
- set clocking master span via ztcfg, like other zaptel devices.
* FXO:
- Fix false hangups in some countries (voltage fluctuations).
- Some countries send caller-id before first ring.
Added code to handle caller-id PCM pass through according to
a new command line parameter (xpd_fxo.caller_id_style).
- No longer sends an event on zt_open. See #12160 .
* Misc:
- Adapt to zaptel-1.4.8 and above ztscan: added fields returend by
new ZT_SPANSTAT_V2 ioctl()
- Document sysfs and waitfor_xpds.
- Miscelaneous optimizations and bugfixes.
- Remove deprecated pcm_tasklet parameter. The rx_tasklet parameter has
replaced it a long time ago.
- Add RX_CMD counter to /proc/xpp/XBUS-*/summary
- Unclutter some of the usb disconnect messages.
- xpp_usb: minor preformance improvements in receive.
Expose the number of pending receive URB's in /proc/xpp/XBUS-*/xpp_usb
Merged revisions 3952 via svnmerge from
http://svn.digium.com/svn/zaptel/branches/1.2
git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@3957 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'kernel/xpp/xbus-core.h')
-rw-r--r-- | kernel/xpp/xbus-core.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/kernel/xpp/xbus-core.h b/kernel/xpp/xbus-core.h index de6e859..2ebb3c0 100644 --- a/kernel/xpp/xbus-core.h +++ b/kernel/xpp/xbus-core.h @@ -60,6 +60,7 @@ enum { XBUS_N_TX_BYTES, XBUS_N_RX_BYTES, XBUS_N_TX_PCM_FRAG, + XBUS_N_RX_CMD, XBUS_N_TX_CMD, }; @@ -81,6 +82,7 @@ static struct xbus_counters { C_(TX_BYTES), C_(RX_BYTES), C_(TX_PCM_FRAG), + C_(RX_CMD), C_(TX_CMD), }; @@ -129,7 +131,7 @@ struct xbus { char busname[XBUS_NAMELEN]; /* set by xbus_new() */ /* low-level bus drivers set these 2 fields */ - char busdesc[XBUS_DESCLEN]; + char location[XBUS_DESCLEN]; char label[LABEL_SIZE]; struct xbus_transport transport; @@ -152,11 +154,13 @@ struct xbus { enum sync_mode sync_mode; struct timer_list command_timer; unsigned int xbus_frag_count; - struct xframe_queue pcm_tospan[2]; /* double buffer */ - struct xpp_timing timing; + struct xframe_queue pcm_tospan; + + struct xpp_ticker ticker; /* for tick rate */ + struct xpp_drift drift; /* for tick offset */ + atomic_t pcm_rx_counter; unsigned int global_counter; - long sync_offset_usec; /* Device-Model */ struct device astribank; @@ -173,6 +177,12 @@ struct xbus { unsigned long max_rx_sync; unsigned long min_rx_sync; unsigned long max_rx_process; /* packet processing time (usec) */ +#ifdef SAMPLE_TICKS +#define SAMPLE_SIZE 1000 + int sample_ticks[SAMPLE_SIZE]; + bool sample_running; + int sample_pos; +#endif struct xbus_poller *poller; @@ -238,7 +248,7 @@ int xbus_log(xbus_t *xbus, xpd_t *xpd, int direction, const void *buf, unsigned #endif /* Frame handling */ -void dump_xframe(const char msg[], const xbus_t *xbus, const xframe_t *xframe); +void dump_xframe(const char msg[], const xbus_t *xbus, const xframe_t *xframe, int print_dbg); int send_cmd_frame(xbus_t *xbus, xframe_t *xframe); /* |