summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2010-07-26dahdi: Move the callbacks in dahdi_span into its own structure.Shaun Ruffell
Part of preparation for adding additional callbacks to allow board drivers to advertise and support gathering pre-echocan data from hardware echocans. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8985 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-26dahdi: Remove the 'pvt' member from dahdi_span.Shaun Ruffell
The vast majority of board drivers already keep the dahdi_span structure in a driver specific structure. The others were easily converted. This way board drivers can use the container_of macro to find what was previously pointed to by the "pvt" member of the span. One less thing to think about in the span structure. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8984 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-26wcte12xp, wctdm24xxp: Updating VPMADT032 firmware to version to 1.25Shaun Ruffell
The echo canceler will now monitor if the receive signal goes over a certain threshold, and if so, freezes its adaptation to prevent loss of convergence. I.e. Fixes conditions where blowing into your handset could result in echo. Additionally, 1.25 includes improvements for handling when line conditions change from echo free to containing echo. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8983 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-26wcte12xp, wctdm24xxp: Return buffer processing to interrupt handler.Shaun Ruffell
In revision 8095, I had moved most of the buffer processing out of the interrupt handler and into a tasklet. The intended result was to enable multiple cards to interleave with one another. But once again I was bitten by the fact that there are some systems that for one reason or another do not process their tasklets in a timely enough manner for the real-time nature of TDM processing. This commit moves this processing back into the interrupt handler by default. It also limits the number of frames that the interrupt handler will process at any given time which appears to achieve the same intended result. (closes issue #17289) Tested by: alecdavis git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8982 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-26wcte12xp, wctdm24xxp: spin_lock_bh -> spin_lock_irqsaveShaun Ruffell
Will add an option to allow calling the deferred processing callback directly in the interrupt handler. It appears there are some systems which still are unable to process their tasklets in a timely fashion, especially if they get pushed out to the ksoftirqd daemon. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8981 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-26wcte12xp: Do not call destory_workqueue if the workqueue was not yet created.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8980 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-26wcte12xp, wctdm24xxp: Add shutdown handlers.Shaun Ruffell
Make the drivers a little more kexec friendly. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8979 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-25No need to worry about accidental "changes" in reg. 0x70 in E1Tzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8975 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-22Make sure we also change the deflaw of the span to ulaw if alawoverride is ↵Matthew Fredrickson
disabled. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8969 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-22Make sure we check max_latency to see if it's greater than the minimum ↵Matthew Fredrickson
required latency for the board in question. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8968 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-19FXS - fix VMWI compatibility mode:Tzafrir Cohen
* If we have vmwi_ioctl=N, we should initialize the vmwi_type of all channels. We initialize it to HVAC * Fix a regression, where curly braces around empty if()'s were removed. * Also fix the VMWI_TYPE() macro, so it actually uses the 3'rd parameter. (this didn't cause damage yet, as we only used HVAC so far) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8943 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-16Add alawoverride parameter to the wcb4xxp module to allow for ulaw and alaw ↵Matthew Fredrickson
mode. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8939 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-14Make noburst parameter override burst flag.Matthew Fredrickson
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8935 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-14PIC 4 rev. 7381: fix T1 returning signaling register in non-CASTzafrir Cohen
This is the second part of the partial fix in r8872, though each of the two should work independently. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8931 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-14Allow reading caps when twinstar watchdog setTzafrir Cohen
Fixes reading capabilities when the watchdog is set. In that case most of the data, as seen, e.g. in output of 'astribank_allow', was 0xFF. Xorcom rev: 7809 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8930 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-14Set Astribank PRI before initializationTzafrir Cohen
This avoids most cases of sending garbage at startup by setting each port to tristate mode at init time (in the init script) and enable it back at DAHDI_STARTUO (end of dahdi_cfg). Upgrade note: if you have upgraded the files (including init script) but old module is still loaded, you may end up with the port not getting ever enabled and the line practically dead. In such a case, reload the new module. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8922 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-13start migrating from xbus_num() to get_xbus()/put_xbus()Tzafrir Cohen
* Now get_xbus() receive and xbus number (not poiner) and uses xbus_num() internally to map it to an xbus pointer + refcount increment. (this is atomic) * Migrate all obvious places that used xbus_num() to map bus number into a pointer, so now they use get_xbus() + put_xbus() to aquire and release an xbus. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8913 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-13PRI Astribanks always sync AB (and independent)Tzafrir Cohen
* PRI devices always get SYNC-AB (never PLL, not even for NT) * Fix Timing priority calculation accordingly. * On PRI layer1 changes, elect_syncer() is called, so we have re-election. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8909 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-13prevent handling of duplicate AstribanksTzafrir Cohen
Don't let AB which are unplugged/replugged create duplicate XBUS's (if asterisk don't close the original channels). git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8905 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-13Create /sys/devices/astribanks:Tzafrir Cohen
* Astribank devices now reside under their own top-level device. * The USB device is still used as the 'transport'. * This means the astribanks parents are NOT the USB devices. * As a result, even after a USB disconnect, we have valid sysfs representation. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8904 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-13Keep SYSFS objects after disconnectTzafrir Cohen
When the USB device disconnects, we keep references to them to make sure they don't disappear. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8900 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-13Don't reset span flag RBS on pri moduleTzafrir Cohen
Don't attempt to reset the span flag DAHDI_FLAG_RBS. At pre-registration we don't yet know if we're CAS or not. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8896 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-13don't send "duplicates" in E1 as in D4Tzafrir Cohen
Make sure we only consider T1-s to be potentially D4 (which requires sending the bits twice). This fixes occasional command-queue floods in E1 CAS. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8892 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-13Put a space where it belongsTzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8888 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-13Basic support for DAHDI_VMWI_CONFIGTzafrir Cohen
* Supports only our current NEON notification. * No more global 'vmwineon' parameter: - We expect asterisk to tell us by channel. - If 'vmwi_ioctl' is not set (it is by default), that we revert to FSK searching (expensive) and call directly our NEON code (as before). git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8887 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-13Solve race xbus_populateTzafrir Cohen
Fixes a crash resulting from a race between disconnecting and connecting Astribanks (on multi-core systems) * Use get_xbus()/put_xbus() arround xbus_populate(), so a disconnect in the middle won't release the xbus too early. * Aquire all XPDs before starting initialization and release them after it finishes (so we don't have up/down races among XPDs) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8886 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-13put xbus->worker in xbus; wake_up_interruptible_all()Tzafrir Cohen
* The worker member of 'struct xbus' is now an embedded struct xbus_workqueue. * Replace wake_up() to wake_up_interruptible_all(). git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8882 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-13Cleanup: refcount_xpd()Tzafrir Cohen
* Change refcount_xpd(): instead of returning a pointer to the atomic counter, return directly its value (just like refcount_xbus()) * Add a refcount_xbus and refcount_xpd attributes to sysfs (for debugging) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8878 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-13Fix building without CONFIG_PROC_FS definedTzafrir Cohen
This changeset should have no functional changes. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8877 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-13Don't assume hardwired pri_protocol is E1Tzafrir Cohen
When initializing registers for the "PRI" (E1/T1) module, in the case the user has not explicitly asked for E1/T1 settings in xpp.conf (pri_protocol) fall back to the current value, which is the build-time fall-back. The value is read from sysfs. Previously we implicitly assumed this value is E1. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8873 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-13partial fix of T1 returning signaling register in non-CAS modeTzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8872 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-12dahdi: Explicitly ensure we don't schedule a timer for the current tick.Shaun Ruffell
As best as I can tell, when CONFIG_NO_HZ is set along with CONFIG_HZ < 250, it is possible for the system timer to exceed MAX_SOFTIRQ_RESTART. Tony Mountifield alluded that this might be a problem in the below mailing list posting, but when I was originally testing, I wasn't using CONFIG_NO_HZ and HZ < 250. http://www.mail-archive.com/asterisk-dev@lists.digium.com/msg37384.html (closes issue #17620) Reported by: seanbright git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8868 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-06Extra PCI ID for Junghanns PCI-E cards.Tzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8853 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-02Add support for max_latency module parameter in wct4xxpMatthew Fredrickson
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8849 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-06-30Fix for circumstances where the framer needs extra help to reset itself.Matthew Fredrickson
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8841 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-06-29wctdm24xxp, wcte12xp: Fix "operation on may be undefined" warning.Shaun Ruffell
gcc 4.5.0 generates a warning on the changed lines and http://gcc.gnu.org/ml/gcc/2004-10/msg00032.html explains why. Essentially, the only thing guaranteed with the preincrement operator is that the value will be incremented before the assignment. It's undefined where in the sequence the mask will be applied. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8832 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-06-29wctc4xxp: Fix "operation on may be undefined" warning.Shaun Ruffell
gcc 4.5.0 was generating a warning on the changed line, and the discussion at http://gcc.gnu.org/ml/gcc/2004-10/msg00024.html explains why. Essentially, the only thing guaranteed with the preincrement operator is that the value will be incremented before the assignment. It's undefined where in the sequence the mask will be applied. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8831 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-06-24Fix trailing whitespace and make last change more readible. (sruffell ↵Mike Spiceland
suggestion) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8805 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-06-24Impliments a workaround for an errata in the qfalc v3.1 chip which causedMike Spiceland
RBS modes to be broken when using AMI coding. DAHDI-647. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8801 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-06-14Expose some dynamic latency options as module parameters for the wct4xxp driverMike Spiceland
latency - the default number of ms of buffering to start off with ms_per_irq - how often the card interrupts git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8768 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-06-08Use usb_{alloc,free}_coherent instead of usb_buffer_{alloc,free}.Tzafrir Cohen
usb_buffer_alloc has been replaced with usb_alloc_coherent , and likewise usb_buffer_free has been replaced with usb_free_coherent. in kernels 2.6.34 the older names are proxies for the new ones, and in 2.6.35 the older names are gone. This patch defines the new names for the old ones, for older kernel versions. (closes issue #17383) Reported by: Chainsaw git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8762 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-06-08include semaphore.h explicitly for newer kernelsTzafrir Cohen
With kernel version >= 2.6.35-rc1, building failed with: drivers/dahdi/voicebus/GpakCust.h:114: error: field ‘sem’ has incomplete type (closes issue #17382) Reported by: Chainsaw Patches: 07-semaphore-include-not-optional.diff uploaded by Chainsaw (license 723) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8758 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-05-25wctdm24xxp: Do not access memory after we free it.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8689 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-05-24hpec: #include <linux/slab.h>Shaun Ruffell
Fix the same issue as in r8550 , for dahdi_echocan_hpec.c: With kernel 2.6.34 an explicit '#include <slab.h>' is required for using kzalloc() and friends. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8680 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-05-23missing #include: fixes building with 2.6.34-rc5Tzafrir Cohen
Fix the same issue as in r8550 , for dahdi_echocan_oslec.c: With kernel 2.6.34-rc5 an explicit '#include <slab.h>' is required for using kzalloc() and friends. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8674 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-05-23A typo (lintian)Tzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8673 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-05-17Merge in pulse mask improvement patch for B410P.Matthew Fredrickson
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8653 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-05-17wctdm24xxp: dev_notice -> dev_infoShaun Ruffell
Modules that aren't installed should show at the same level as modules that are installed. It could be confusing if the console log level is set to 3 and only messages about which ports do not have any modules installed show up on the console. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8642 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-05-17dahdi: Check if wait_for_completion_timeout is backported.Shaun Ruffell
CentOS4 has this backported in their 2.6.9 kernel. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8641 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-05-03wcte12xp: Removed unnecessary instrumentationRuss Meyerriecks
Over-verbose instrumentation snuck in, on commit r8594 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8600 a0bf4364-ded3-4de4-8d8a-66a801d63aff