diff options
author | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2008-03-06 22:54:16 +0000 |
---|---|---|
committer | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2008-03-06 22:54:16 +0000 |
commit | 3b3d8f7b1186f672e16cd7e4ded2f405ec43cb1c (patch) | |
tree | 5e592d92e3030b4eb28cab7585f769dbbeab2d74 /xpp/xproto.c | |
parent | 07b404b68141bc981adbc1f5a00cbe90116fb9c1 (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
git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.2@3952 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'xpp/xproto.c')
-rw-r--r-- | xpp/xproto.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/xpp/xproto.c b/xpp/xproto.c index d55949e..010f0de 100644 --- a/xpp/xproto.c +++ b/xpp/xproto.c @@ -218,7 +218,7 @@ static int xframe_receive_cmd(xbus_t *xbus, xframe_t *xframe) if((rate_limit++ % 1003) == 0) { XBUS_DBG(GENERAL, xbus, "A PCM packet within a Non-PCM xframe\n"); - dump_xframe("In Non-PCM xframe", xbus, xframe); + dump_xframe("In Non-PCM xframe", xbus, xframe, print_dbg); } ret = -EPROTO; goto out; @@ -229,7 +229,7 @@ static int xframe_receive_cmd(xbus_t *xbus, xframe_t *xframe) if((rate_limit++ % 1003) == 0) { XBUS_NOTICE(xbus, "Invalid packet length %d\n", len); - dump_xframe("BAD LENGTH", xbus, xframe); + dump_xframe("BAD LENGTH", xbus, xframe, print_dbg); } ret = -EPROTO; goto out; @@ -255,7 +255,7 @@ int xframe_receive(xbus_t *xbus, xframe_t *xframe) if((rate_limit++ % 1003) == 0) { XBUS_NOTICE(xbus, "short xframe\n"); - dump_xframe("short xframe", xbus, xframe); + dump_xframe("short xframe", xbus, xframe, print_dbg); } FREE_RECV_XFRAME(xbus, xframe); return -EPROTO; @@ -270,8 +270,10 @@ int xframe_receive(xbus_t *xbus, xframe_t *xframe) */ if(XPACKET_IS_PCM((xpacket_t *)xframe->packets)) xframe_receive_pcm(xbus, xframe); - else + else { + XBUS_COUNTER(xbus, RX_CMD)++; ret = xframe_receive_cmd(xbus, xframe); + } /* Calculate total processing time */ do_gettimeofday(&now); usec = (now.tv_sec - tv_received.tv_sec) * 1000000 + |