summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2011-09-05xpp: firmware to detect the new 2+6 moduleTzafrir Cohen
New firmwares to handle the new 2FXS/6FXO module. FPGA_1161.hex, PIC_TYPE_1.hex, PIC_TYPE_2.hex of internal rev. 9732 Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10180 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-30wcte12xp, wctdm24xxp: Update VPMOCT032 firmware to 1.11.0.Shaun Ruffell
Firmware version 1.11.0 resolves an issue where the driver fails to detect certain VPMOCT032 modules after a cold boot. Signed-off-by: Doug Bailey <dbailey@digium.com> Acked-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10172 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10173 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-28xpp: FXS: new 2+6 module has no digital I/O portsTzafrir Cohen
This module is recognized via subtype==4 Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10157 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-19wctdm24xxp: Set 'fastoffhook' counter to 8ms and turn off calibration delay.Shaun Ruffell
r10006 "wctdm24xxp: Add 'fastpick' module parameter." copied the fast-off hook module parameter from the wctdm.c driver, but the setting in that driver does not match the data sheet. The previous commit did not actually change any of the significant bits in that register. Also, that commit changed the timer, but did not disable the callibration delay which is necessary for Type-II callerid. The fastpickup option in the wctdm24xxp driver should now match the fastpickup option in the wctdm driver. DAHDI-224. Reported-By: Kinnith Wallace <kwallace@digium.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10148 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10150 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-19wctdm: Set 'fastpickup' counter to 8msShaun Ruffell
This fixes what looks like a typo in r1055 [1]. [1] http://svnview.digium.com/svn/dahdi?view=revision&revision=1055 Reported-by: Kinnith Wallace <kwallace@digium.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10147 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10149 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-18wctdm24xxp: Use our own free list for IRQ commands.Shaun Ruffell
Really only *necessary* when SLAB debugging is enabled, but in that case, can reduce the chance of latency bumps when first loading the driver. Otherwise the constant slab poisoning / checking in interrupt context from the kmalloc / kfrees is too much. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10144 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10146 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-18wct4xxp: Bug in timing cable with different span density cardsShaun Ruffell
The logic loops through the static cards[] array to determine timing, but the subloop was based off the current card's numspans member. This could cause a null dereference in the case where two cards of different span densities were connected via timing cables. Reported-by: Doug Bailey <dbailey@digium.com> Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10140 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10145 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-15wctc4xxp: Fix lock imbalance in wctc4xxp_watchdog.Shaun Ruffell
r10082 "wctc4xxp: Cleanup in-flight commands when halting due to hardware error." introduced a lock imblance on the error path where the cmd_list_lock would be unlocked twice when the board is halted due to a hardware error. Thanks sparse. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10138 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10139 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-12wcte12xp, wctdm24xxp: Force local interrupts off in the interrupt handler.Shaun Ruffell
r10066 "wctdm24xxp, wcte12xp: Run the ISR with interrupts disabled." requested that the interrupt handler be run in "fast" mode (disabled) but this isn't necessarily guaranteed. This patch makes the interrupt handler itself disable all the interrupts. Linux commit 470c66239ef0336429b35345f3f615d47341e13b [1] contains a comment about why this is necessary. [1] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=470c66239ef03364 (closes issue DAHLIN-248) Reported-and-Tested-by: Vladimir Mikhelson <vlad@mikhelson.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10118 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10119 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-11dahdi_dynamic: Call dahdi_receive in rx packet handler.Shaun Ruffell
Currently dahdi_receive is called on all channels in the context of the master dynamic span. If one span (not the master) receive two packets before the master span received a packet, the older packet on the dynamic span would end up lost because the "readchunk" for the channels would be overwritten by the new packet. DAHLIN-245 Signed-off-by: Wagner Gegler <wagner@aligera.com.br> (License #6268) Changed dahdi_ec_chunk to dahdi_ec_span. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10110 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10116 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-11wctc4xxp, wcte12xp, wctdm24xxp: Remove check for HAVE_NETDEV_PRIVShaun Ruffell
DAHDI currently supports kernels >= 2.6.9. netdev_priv() has been in the mainline kernel since versions 2.6.6 so it's available in all the supported kernels. This change is needed to compile against the 3.1 kernel. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=10096 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10115 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-08-09FPGA_1161 rev 9605: EC related bug fixesTzafrir Cohen
Astribank II FPGA firmware rev 9605. Includes two bug fixes: * Error in checking EC licenses when the license was for exactly 64 or 128 channels. * Proper handling of a slave FXO Astribank (in line with the quirks handling from r10019). Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.5@10100 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-26wctc4xxp: Cleanup in-flight commands when halting due to hardware error.Shaun Ruffell
On one system I was seeing the board reset in the middle of a transaction. Any commands that were on the response list when this would happen would never be completed and the process would then be stuck in an uninterruptible sleep. This change also prevents the driver from sleeping in timer context, which would result in a kernel panic. This change at least lets an error message propogate back to the user. DAHDI-880 Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10082 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-22wcb4xxp: Prevent null pointer dereference on spanconfigRuss Meyerriecks
In the rare case where spanconfig is called while there is pending data on the hdlc channel, the hdlc_getbuf interrupt could try to read from the hdlc buffer before the channel was fully setup. This could potentially result in a null pointer dereference. This condition has existed since the creation of the wcb4xxp driver. Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10079 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-21dahdi: Drivers that do not support hwec should not report hwec is available.Shaun Ruffell
When attaching software echocans to a channel, if there is a hardware echocan available always give preference to them. Revision 9995 "dahdi: Always attach hwec to a channel if available" had an error where if a driver did not even support an option of hardware echocan, dahdi-base would take that to mean there always was a hardware echocan available on the channel. DAHLIN-246 Reported-by: Michael L. Young Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10070 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-21wctdm24xxp, wcte12xp: Run the ISR with interrupts disabled.Shaun Ruffell
Revision 9886, "wcte12xp: Use the in-hardirq versions of dahdi_receive/dahdi_transmit", changed the call into dahdi_receive and dahdi_transmit to use versions that assume local interrupts are already disabled. Not all versions of the kernel run interrupt service routines with all interrupts disabled and therefore it was possible to lock up a CPU with a recursive grab of the chan_lock. When LOCKDEP was enabled (on debug kernels) interrupt handlers were run atomically so this problem would only occur on pre 2.6.35 kernels that did not have lockdep enabled. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10066 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20wcte12xp: Fix bug when not recognizing loopup codesRuss Meyerriecks
The wcte12xp wasn't recognizing loopup/loopdown signals. The debounce was so long that it was preventing the loopup/loopdown signals from being registered properly. Removed the debounce entirely as it was unnecessary to the operation. Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> Acked-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10064 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20wct4xxp: Fixed a bug where it sent loopdown signals foreverRuss Meyerriecks
The wct4xxp driver was resetting it's maint state to NONE prematurely. Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> Acked-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10063 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20wct4xxp: Fix compilation when VPM_SUPPORT is not defined.Shaun Ruffell
Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10061 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20oct612x: Increase the size of some of the instance variables.Shaun Ruffell
Revision 9750 "wct4xxp: Reduce the memory footprint of the hardware echocanceler" reduced the number of bits used to store some structure members. Some of the new field lengths were unable to store all the possible values the API as used assigned to the fields, resulting in channels never entering power down mode when they were disabled like they were previously. The change for byEchoOperationMode was found in testing the operation of the VPMOCT032 which currently uses the same code. The others were done via a review of the API doc. This change represents negligable risk and contains no logic changes. It only increases the memory footprint of the API instance in the kernel. Signed-off-by: Doug Bailey <dbailey@digium.com> Acked-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10060 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20get registration_mutex at free_pseudoTzafrir Cohen
Make sure that the call to dahdi_chan_unreg() in free_pseudo() is protected by the registration_mutex, like the other calls to that function. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Acked-By: Oron Peled <oron.peled@xorcom.com> Acked-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10056 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20xpp: increase command queue lenge to 1000Tzafrir Cohen
Required by CAS in latest (2.5) DAHDI versions. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10055 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20xpp: make quirk bit flags unsignedTzafrir Cohen
This avoids a nag about a meaningless single-bit signed int. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10054 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20xpp: PRI_timing_priority can be static.Tzafrir Cohen
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10053 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-20xpp: rate limit queue overflow messagesTzafrir Cohen
If the CPU becomes overly busy, merely printing the "Overflow in the recieve_queue" messages becomes CPU-intensive on its own right. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10052 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-18wcte12xp: Close a potential race on driver unload.Shaun Ruffell
The shutdown logic requires that all CPUs see that the INITIALIZED bit has been cleared. Otherwise it may be possible for the workqueue to run after the hardware resources have been released. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10047 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-12xpp: install Octasic frmware if it's thereTzafrir Cohen
If the OCT6104E-256D.ima Octasic firmware was downloaded to the build directory, install it over with the rest of the firmware files. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10038 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-12xpp: Demote notices for HWEC create/free to debugTzafrir Cohen
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10037 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-12dahdi: Add dynamic dahdi parameter hwec_overrides_swec.Tzafrir Cohen
If set to true (default) a HWEC, if available on the channel, takes priority over any software echocan configured in /etc/dahdi/system.conf. This has historically been the default behavior in all released versions of DAHDI that support module echocans. Otherwise, hwec_overrides_swec is set to false, HWEC is chosen only via the "echocanceller=hwec" directive. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Signed-off-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Acked-By: Oron Peled <oron.peled@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10036 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-05oct612x: Eliminate some compiler warnings.Shaun Ruffell
Eliminate "large integer implicitly truncated to unsigned type" warnings from r10010. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Doug Bailey <dbailey@digium.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10024 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-04xpp: xpd_fxs: ring_trapez parameterTzafrir Cohen
This adds module parameter 'ring_trapez'. When set, the wave form of the ring tone is set to be a trapezoid, rather than sine. Thus making the ring stronger. This is a boolean parameter of the module xpd_fxs. Takes effect at the beginning of the next ring. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10022 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-04A number of cases of testing for unsigned int < 0Tzafrir Cohen
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10021 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-04xpp: Eliminate "set but unused" compiler warnings.Tzafrir Cohen
gcc 4.6 complains about variables that are assigned values but then never used. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10020 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-04xpp: add FXO HWEC quirks handlingTzafrir Cohen
In some cases the hardware echo canceller cannot be used. Mostly related to an FXO module. * FXO module if the first module is BRI or PRI * FXS module if the Astribank has another FXO, no PRI/BRI, and is a sync slave. Signed-off-by: Oron Peled <oron.peled@xorcom.com> Acked-By: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10019 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-01wcb4xxp: Return NULL if there is not a hardware EC on installed.Shaun Ruffell
r9943 enabled the presence of hardware EC to be probed on a card. That change did not account for wcb4xxp based cards that did not have a hardware echocan on board. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10017 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-07-01wct4xxp: Add module parameter to ignore rotary switch settings.Shaun Ruffell
The dual and quad span cards have a rotary switch onboard which controls the order that cards serviced by this driver are registered with the core of DAHDI. This commit adds a module parameter 'ignore_rotary' which, when set to 1, causes the driver to ignore the position of the rotary switch and only consider the physical slot when registering with DAHDI. Ignoring the rotary switch settings also permits the PCI device to be bound and unbound from the driver at runtime since registration with DAHDI no longer only happens when the module is first initialized. By default, the rotary switch will still be used to determine registration order. This commit does not change the default behavior. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10016 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-06-30xpp: FPGA_1161 rev 9252, USB_FW rev 8826: HWECTzafrir Cohen
New Astribank II FPGA firmware and USB firmwares that add support for the hardware echo canceller module. Note that due to a bug in previous FPGA firmwares, an Astribank with such older firmware and with a hardware echo canceller module will not have any functioning audio at all. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10013 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-06-30xpp: also install init (non)script for xpd_echoTzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10012 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-06-30oct612x: Fixes for Octasic user space compilation:Tzafrir Cohen
* Don't assume a pointer diff is 16 bits only. * cOCT6100_INVALID_VALUE should be used against 32 unsigned values * Make 3 constants adjustable via '-Dmacro=value': - cOCT6100_INTERNAL_SUPER_ARRAY_SIZE - cOCT6100_MAX_ECHO_CHANNELS - cOCT6100_MAX_MIXER_EVENTS Signed-off-by: Oron Peled <oron.peled@xorcom.com> Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Acked-by: Doug Bailey <dbailey@digium.com> Acked-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10010 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-06-29wctdm24xxp: Fix typo in previous commit for fastpickup mode.Shaun Ruffell
I failed to compile the commit exactly as it was committed. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10008 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-06-29wctdm24xxp: Add 'fastpick' module parameter.Shaun Ruffell
When true / 1 the FXO port will use a shorter off-hook calibration delay. This is sometimes necessary in order to properly decode Type-II Caller ID information which is sent shortly after an FXO port goes off hook. Defaults to 0 unless opermode is "JAPAN" then it will default to 1. This functionality was ported from the wctdm.c driver. DAHDI-854. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10006 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-06-29wctdm24xxp: Ensure battery drops on FXS hangups honor the channel otimer.Shaun Ruffell
If an FXS port is configured to use kewl start signalling, when the FXS port is "hungup" it should drop battery for 500ms so that any attached devices can detect that the remote side has disconnected. The wctdm24xxp driver since version 2.4.0 was only dropping battery for ~5-10 ms because it would set "open" on the line, but then the next time it read the line feed register state, it was setting the LINE feed register to the idle state. This change checks if the line is forced open before setting the FXS port back "onhook" so as to not turn on battery prematurely. This fixes a regression introduced in r9070 "wctdm24xxp: Prevent FXS Proslic staying in "Forward/Reverse OnHookTransfer...". DAHDI-849. Checking for open on the line feed registered was originally suggested by Alec Davis. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10002 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-06-28wcte12xp, wctdm24xxp: Load VPMOCT032 firmware in background.Russ Meyerriecks
The firmware load has been moved into a workqueue to prevent the module load from blocking for the duration of the firmware upload. This could be up to 40 seconds. Driver prevents configuration until firmware load is finished and is_initialized() returns true. Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9998 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-06-28wcte12xp, wctdm24xxp: Add support for the VPMOCT032 hardware echocanceler.Russ Meyerriecks
Support enabled for the vpmoct032 echo cancellation module for the wctdm24xxp and wcte12xp drivers. Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9997 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-06-28dahdi: Always attach hwec to a channel if available.Shaun Ruffell
In previous releases of DAHDI if dahdi_cfg attached a software echocan to a channel and a hardware echocan was available, the hardware echocan would be used instead of the software echocan. Since the 2.4 branch was created a new feature was merged into dahdi-linux where it was possible to mix software echocan and hardware echocan on a channel. This required using "hwec" as the echocan in the /etc/dahdi/system.conf file so that what was specified in the configuration file is what was actually used. This has resulted in users upgrading to the trunk of dahdi without updating their /etc/dahdi/system.conf file and just suddenly not using any hardware echocans any longer. The capability to mix software and hardware echocans on a span will be revisted when running dahdi_cfg on any preexisting configuration files doesn't just silently turn off hardware echocan. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9995 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-06-28xpd_echo: XPP Octasic echo canceler moduleTzafrir Cohen
* xpd_echo (card_echo.c) - a module to handle an Astribank hardware echo canceller module. * All other XPDs are now of type 'telephony_device'. Only a telephony device XPD provides a span to register. * The EC module will typically show up as XPD-40 and will always show up as Unregistered in 'dahdi_hardware -v' Signed-off-by: Oron Peled <oron.peled@xorcom.com> Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9993 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-06-28Revert "dahdi: Group dahdi timers into "rates" for improved CPU utilization."Shaun Ruffell
This reverts commit r9891 and is part of two commits to revert all the timer changes. Grouping the timer into rates did not allow a timers rate to be changed after another thread is already blocked on the poll call The problem that was reported was if a sip call was made to a DAHDI channel and the sip call was disconnected before answer, the DAHDI channel would never stop rining. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9991 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-06-28Revert "dahdi: If a timer is not configured then we should block indefinitely."Shaun Ruffell
This reverts commit r9937 and is part of two commits to revert all the timer changes. Grouping the timer into rates did not allow a timers rate to be changed after another thread is already blocked on the poll call Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9990 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-06-20wcte12xp: Start alarm timer after marking board initialized.Shaun Ruffell
r9946, "wcte12xp: Move the VPMADT032 test/configuration to module load time." introduced a race condition where it was possible for the timer that initiates the check for the alarms to fire before the board was marked initialized. This would result in a board that would never again check it's alarm state since the first time the timer runs INITIALIZED may not be set and it will not reschedule a check since it believes the driver is unloading. This happened because the check for the VPM was moved between when the timer was first setup and when INITIALIZED was then set. Now we make sure INITIALIZED is set before the timer is first setup, and move those two operations together. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9981 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-06-11wctdm24xxp: Do not read extra register when test for FXO module fails.Shaun Ruffell
In commit r9968 "wctdm24xxp: Allow more than one outstanding read at a time" I introduced a regression where the transmit FIFO on the data channel of a B400M could get locked up. The result would be constant HDLC overflows when writing to the data channel. This regression did not make it into any releases and did not exhibit itself when crossing spans on a single B400M module. This is a partial revert of commit r9968. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9977 a0bf4364-ded3-4de4-8d8a-66a801d63aff