diff options
author | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-05-17 22:55:21 +0000 |
---|---|---|
committer | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-05-17 22:55:21 +0000 |
commit | 3af1b5fa2ec86d21762ad1cea81d2b275d4a9d48 (patch) | |
tree | 12da5f31396b3b1d3f99ed1bad8725bd50120689 /xpp/xpp_usb.c | |
parent | c16f6ead0e9050d59d73f39f3015ecb64aecc214 (diff) |
XPP revision 3965:
* Tested with zaptel-1.2.17.1
* Add D-Channel TX, RX and BAD frames count in /proc/xpp/XBUS-*/XPD-*/bri_info
* Adjust output of xpp_sync script. Pad for 8 port BRI.
* Added a debugging module parport_debug (not compiled by default).
* Added an optional patch to zaptel:
- compiles only if ZAPTEL_SYNC_TICK is defined
- Allow interested driver to register for "sync" notification.
- Does not affect drivers that do not use this feature.
* Added external synchronization feature:
- Only if ZAPTEL_SYNC_TICK feature is compiled in
- Than XPP may be synchronized by another card (e.g: an Astribank
with FXS can be synchronized by a Digium PRI card).
- May be enabled/disabled in runtime via the 'sync_tick_active' module
parameter to the xpp.ko module.
* Fixed a potential bug in D-Channel hexdump printing.
* New visual indications in BRI leds:
- Constant ON RED/GREEN: Shows the port type -- NT/TE.
- Very fast "double blink": Layer1 work, no D-Channel yet.
- Steady blinking (1/2 sec): D-Channel trafic detected.
* xpp_fxloader moved to /usr/share/zaptel .
* adj_clock removed: never really used.
* Now we have Zaptel::Hardware and a sample zaptel_hardware script (not
(installed by default).
* We also have a sample perl zapconf (not installed by default) which
aims at replacing genzaptelconf (sans the modules detection).
git-svn-id: http://svn.digium.com/svn/zaptel/trunk@2537 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'xpp/xpp_usb.c')
-rw-r--r-- | xpp/xpp_usb.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/xpp/xpp_usb.c b/xpp/xpp_usb.c index 3f0bfaa..8403777 100644 --- a/xpp/xpp_usb.c +++ b/xpp/xpp_usb.c @@ -45,6 +45,7 @@ #include "card_fxs.h" #include "card_fxo.h" #endif +#include "parport_debug.h" static const char rcsid[] = "$Id$"; @@ -733,6 +734,7 @@ static void xpp_send_callback(USB_PASS_CB(urb)) long usec_diff; BUG_ON(!xbus); + //flip_parport_bit(6); atomic_dec(&xusb->pending_writes); do_gettimeofday(&now); usec_diff = @@ -740,7 +742,7 @@ static void xpp_send_callback(USB_PASS_CB(urb)) (now.tv_usec - xusb->last_tx.tv_usec); if(usec_diff > xusb->max_tx_delay) xusb->max_tx_delay = usec_diff; - if(unlikely(usec_diff > 200)) { + if(unlikely(usec_diff > 500)) { static int rate_limit; if((rate_limit++ % 5003) == 0) @@ -780,6 +782,7 @@ static void xpp_receive_callback(USB_PASS_CB(urb)) NOTICE("spurious URB\n"); return; } + //flip_parport_bit(7); if (urb->status) { DBG("nonzero read bulk status received: %d\n", urb->status); XUSB_COUNTER(xusb, RX_ERRORS)++; @@ -874,20 +877,24 @@ static int xusb_read_proc(char *page, char **start, off_t off, int count, int *e goto out; // TODO: probably needs a per-xusb lock: spin_lock_irqsave(&xusb_lock, flags); - len += sprintf(page + len, "device: %d, #altsettings: %d, minor: %d\n" - "\tModel Info: Bus Type=%d (%s)\n" - "\tIn: 0x%02X - Size: %d)\n" - "\tOut: 0x%02X - Size: %d)\n", - xusb->udev->devnum, - xusb->interface->num_altsetting, + len += sprintf(page + len, "Device: %03d/%03d\n", + xusb->udev->bus->busnum, + xusb->udev->devnum + ); + len += sprintf(page + len, "Minor: %d\n" + "Model Info: Bus Type=%d (%s)\n", xusb->minor, xusb->model_info->bus_type, - xusb->model_info->desc, + xusb->model_info->desc + ); + len += sprintf(page + len, "Endpoints:\n" + "\tIn: 0x%02X - Size: %d)\n" + "\tOut: 0x%02X - Size: %d)\n", xusb->endpoints[XUSB_RECV].ep_addr, xusb->endpoints[XUSB_RECV].max_size, xusb->endpoints[XUSB_SEND].ep_addr, xusb->endpoints[XUSB_SEND].max_size - ); + ); len += sprintf(page + len, "\npending_writes=%d\n", atomic_read(&xusb->pending_writes)); len += sprintf(page + len, "max_tx_delay=%d\n", xusb->max_tx_delay); xusb->max_tx_delay = 0; |