From 3af1b5fa2ec86d21762ad1cea81d2b275d4a9d48 Mon Sep 17 00:00:00 2001 From: tzafrir Date: Thu, 17 May 2007 22:55:21 +0000 Subject: 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 --- xpp/xpd.h | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'xpp/xpd.h') diff --git a/xpp/xpd.h b/xpp/xpd.h index 4aa8861..559af39 100644 --- a/xpp/xpd.h +++ b/xpp/xpd.h @@ -211,13 +211,19 @@ struct xbus { /* PCM metrics */ struct timeval last_tx_sync; struct timeval last_rx_sync; - long max_tx_sync; - long min_tx_sync; - long max_rx_sync; - long min_rx_sync; + unsigned long max_tx_sync; + unsigned long min_tx_sync; + unsigned long max_rx_sync; + unsigned long min_rx_sync; struct xbus_poller *poller; + /* + * Sync adjustment + */ + int sync_adjustment; + long pll_updated_at; + struct rw_semaphore in_use; int num_xpds; void *priv; /* Pointer to transport level data structures */ @@ -335,6 +341,12 @@ struct xpd { #define IS_BRI(xpd) ((xpd)->type == XPD_TYPE_BRI_NT || (xpd)->type == XPD_TYPE_BRI_TE) #define TICK_TOLERANCE 500 /* usec */ +#ifdef DEBUG_SYNC_PARPORT +void xbus_flip_bit(xbus_t *xbus, unsigned int bitnum0, unsigned int bitnum1); +#else +#define xbus_flip_bit(xbus, bitnum0, bitnum1) +#endif + #endif #endif /* XPD_H */ -- cgit v1.2.3