diff options
author | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-08-02 12:21:11 +0000 |
---|---|---|
committer | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-08-02 12:21:11 +0000 |
commit | c88eaa22e13bd4c092b367a28e57064659660466 (patch) | |
tree | 2978dd7342b09b60bf9dbe5e333d043fb43d9114 /xpp/xpd.h | |
parent | 183cf9c2af77e6444450cf5d2b5c62ca6b875fbe (diff) |
Merge xpp r4372:
* Update to zaptel-1.2.18 and zaptel-1.4.3 (r4308 onward)
* Fix a critical race with zaptel synchronization (r4362)
* Added a /proc/xpp/cmds for statistics about command timing (r4360)
* Fix a digit mapping bug with hardware dtmf detection (r4357)
* In xpp/utils/Makefile add perl syntax checks to our scripts (r4337)
* Better USB data error checking (r4336)
* udev rules (xpp.rules) avoid false calls from wrong nodes (r4331)
* Improve hardware detection and reporting in lszaptel,
zaptel_hardware. zapconf is basically functional.
* Leds are blinked synchronously on all Astribanks now (r4262)
* Fix a BRI bug if OPTIMIZE_CHANMUTE was compiled into zaptel (r4258)
(This feature was not yet accepted into official zaptel)
* Removed compile warning about HZ != 1000 (r4218)
* Firmware updates.
* fpga_load now supports USB pathes without zeros (r4211)
* XPD numbers have changed to '<Unit><Subunit>' (r4196)
* Proper support for ZT_VMWI ioctl, if used in zaptel (r4092)
* Fix FXO power denial detection (r4054)
* FXO could accidentally go off-hook with some compilers (r4048)
(From branches/1.2 r2732, r2735 - branches/1.4 2736)
git-svn-id: http://svn.digium.com/svn/zaptel/trunk@2813 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'xpp/xpd.h')
-rw-r--r-- | xpp/xpd.h | 25 |
1 files changed, 19 insertions, 6 deletions
@@ -119,10 +119,13 @@ enum { XBUS_N_DESC_REQ, XBUS_N_DEV_DESC_FULL, XBUS_N_DEV_DESC_EMPTY, - XBUS_N_SEND_PCM, - XBUS_N_PCM_READ, + XBUS_N_TX_XFRAME_PCM, + XBUS_N_RX_XFRAME_PCM, + XBUS_N_TX_PACK_PCM, + XBUS_N_RX_PACK_PCM, XBUS_N_TX_BYTES, XBUS_N_RX_BYTES, + XBUS_N_TX_PCM_FRAG, }; #define XBUS_COUNTER(xbus, counter) ((xbus)->counters[XBUS_N_ ## counter]) @@ -136,10 +139,13 @@ static struct xbus_counters { C_(DESC_REQ), C_(DEV_DESC_FULL), C_(DEV_DESC_EMPTY), - C_(SEND_PCM), - C_(PCM_READ), + C_(TX_XFRAME_PCM), + C_(RX_XFRAME_PCM), + C_(TX_PACK_PCM), + C_(RX_PACK_PCM), C_(TX_BYTES), C_(RX_BYTES), + C_(TX_PCM_FRAG), }; #undef C_ @@ -202,6 +208,7 @@ struct xbus { xbus_type_t bus_type; spinlock_t lock; + atomic_t pcm_nesting; bool hardware_exists; /* Hardware is functional */ int open_counter; /* Number of open channels */ @@ -222,6 +229,7 @@ struct xbus { * Sync adjustment */ int sync_adjustment; + int sync_adjustment_offset; long pll_updated_at; struct rw_semaphore in_use; @@ -289,6 +297,7 @@ struct xpd { struct zt_chan *chans; int channels; xpd_type_t type; + const char *type_name; byte revision; /* Card revision */ xpd_direction_t direction; /* TO_PHONE, TO_PSTN */ xpp_line_t no_pcm; /* Temporary: disable PCM (for USB-1) */ @@ -296,7 +305,11 @@ struct xpd { xpp_line_t cid_on; xpp_line_t digital_outputs; /* 0 - no, 1 - yes */ xpp_line_t digital_inputs; /* 0 - no, 1 - yes */ - xpp_line_t digital_signalling; /* PRI/BRI signalling channels */ + xpp_line_t digital_signalling; /* BRI signalling channels */ + + /* maintained by card drivers */ + uint pcm_len; /* allocation length of PCM packet (dynamic) */ + xpp_line_t wanted_pcm_mask; bool ringing[CHANNELS_PERXPD]; @@ -327,7 +340,7 @@ struct xpd { reg_cmd_t last_reply; unsigned long last_response; /* in jiffies */ - unsigned id; + unsigned xbus_idx; /* index in xbus->xpds[] */ xpd_addr_t addr; struct list_head xpd_list; unsigned int timer_count; |