summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-10-20wcb4xxp: Support beroNet BN4S0e PCI Express cardsvn_2.3Tzafrir Cohen
Add extra PCI IDs to support "beroNet BN4S0e PCI Express 4x S0 Karte". Origin: http://bugs.debian.org/600839 Merged revisions 9451 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.3@9455 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-06-29Merged revisions 8801,8805 via svnmerge from Mike Spiceland
https://origsvn.digium.com/svn/dahdi/linux/trunk ........ r8801 | mspiceland | 2010-06-24 11:13:44 -0500 (Thu, 24 Jun 2010) | 4 lines Impliments a workaround for an errata in the qfalc v3.1 chip which caused RBS modes to be broken when using AMI coding. DAHDI-647. ........ r8805 | mspiceland | 2010-06-24 16:02:56 -0500 (Thu, 24 Jun 2010) | 2 lines Fix trailing whitespace and make last change more readible. (sruffell suggestion) ........ git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.3@8830 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-06-18Disable DAHDI_AUDIO_NOTIFY by defaultTzafrir Cohen
It's still not tested well-enough, if one enables OPTIMIZE_CHANMUTE. Merged revisions 8784 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.3@8785 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. Merged revisions 8674 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.3@8679 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-05-14Merged revisions 8560,8575-8576 via svnmerge from Shaun Ruffell
https://origsvn.digium.com/svn/dahdi/linux/trunk ........ r8560 | sruffell | 2010-04-22 16:36:16 -0500 (Thu, 22 Apr 2010) | 11 lines wcte12xp, wctdm24xxp: Ensure writes to I/O registers are flushed. In revision 8176 I changed register access from I/O space to memory mapped registers. Unfortunately, when I made that change, I didn't account for posted writes. This change makes sure all the registers are read back to ensure that they are posted through any intermediate bridges. The most readily observable symptom were cards that were taking 2000 interrupts/second. The card reported that it handled an interrupt but the write to silence the card wasn't flushed through until the second time the interrupt handler run. DAHDI-602. ........ r8575 | sruffell | 2010-04-26 18:29:16 -0500 (Mon, 26 Apr 2010) | 4 lines wcte12xp, wctdm24xxp: Do not allow interruptible sleep on VPM lock. If the sleep is ever interrupted, 'up' will still be called in the GpakApi, essentially making the lock useless after that point. ........ r8576 | sruffell | 2010-04-26 18:29:17 -0500 (Mon, 26 Apr 2010) | 9 lines wcte12xp, wctdm24xxp: Retry if the VPMADT032 reports not ready. CheckDspReset can return -1 if the DSP is not ready to process any new commands. In this case we should retry a few times to give the DSP a chance to become ready. While I'm not ready to say this definitely fixes recently reported cases when the wcte12xp driver constantly resets, it eliminated communication failures to the DSP module when under stress (via the vpm_firmware_version sysfs attribute). However, I haven't let it run long enough to say that the issue is resolved. DAHDI-603. ........ git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.3@8621 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-22missing #include: fixes building with 2.6.34-rc5Tzafrir Cohen
With kernel 2.6.34-rc5 an explicit '#include <slab.h>' is required for using kzalloc() and friends. Merged revisions 8550 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.3@8551 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-19typos, mostly unkownTzafrir Cohen
Merged revisions 8539 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.3@8545 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-19Remove generation of kernel-doc API docsTzafrir Cohen
It's not really useful, and it breaks building 'docs' without a kernel tree. Merged revisions 8538 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.3@8541 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-19initialize svnmergeTzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.3@8540 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-12Creating the 2.3 branch.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.3@8506 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-06voicebus: Change WARN_ON_ONCE to BUG_ON.Shaun Ruffell
WARN_ON_ONCE is not defined in 2.6.9, and this condition would be catastrophic anyway if it were to occur. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8494 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-06wcte12xp: Load the VPM in startup, not spanconfigShaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8489 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-06wcte12xp: Check and dequeue/decipher the VPM commands atomicallyShaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8488 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-06wcte12xp: Make sure the interrupt is stopped before freeing the vpmadt032Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8487 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-06wcte12xp: Eliminate a trailing whitespace.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8482 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-06wcte12xp: Do not reconfigure the VPMADT032 if shutting down.Shaun Ruffell
If we try to unload the driver soon after a high latency event, it is possible to get stuck for several seconds reloading the firmware. DAHDI-573. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8481 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-06wcte12xp: Do not restart the timer on alarm poll if shutting down.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8480 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-06wcte12xp: Expose the maximum latency as a module parameterShaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8479 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-06wcte12xp: Reprogram the VPM only when neccessary.Shaun Ruffell
Only program the VPM in spanconfig if it either is not setup, or if it fails a ping test. Also, if the channel config fails (but ping would otherwise work), force a reset / reconfiguration if the VPM module. DAHDI-573. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8478 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-05wcte12xp: Try to reconfigure the VPM if we fail to configure the channels.Shaun Ruffell
Also, fall back to any software echocan configured for this channel for new calls while we're in the middle of a recovery. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8473 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-04wcte12xp: Poll the VPM and reset it if necessary.Shaun Ruffell
When the transmit descriptor runs out completely, there (appears to be) a chance for a random command to be sent that results in the VPMADT032 to no longer respond, typically resulting in one way audio. This change introduces a poll of the VPM. If it fails the poll, it will be bypassed temporarily while the driver resets and reprograms it. Also, the VPM is initially programmed in the spanconfig callback instead of at driver load. This moves the potential for underruns until later in the boot process. DAHDI-573. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8468 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-04wcte12xp, wctdm24xxp: If we're only one packet behind, just exit.Shaun Ruffell
This will make us two behind, which is fine, and eliminates a busy loop in atomic context. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8467 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-04wcte12xp: Use ARRAY_SIZE in a couple more placesShaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8466 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-03wcte12xp, wtdm24xxp: Make sure the writes are retried.Shaun Ruffell
r8454 and r8460 introduced a change where writes are not retried when other module/framer commands are retried. This was an error and wasn't what was actually under test. This commit restores the behavior in wctdm24xxp and makes sure the vpm writes are retried in the wcte12xp. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8461 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-03wcte12xp, wctdm24xxp: Close a memory leak when processing VPM commands.Shaun Ruffell
Closes a memory leak when processing the VPM write commands introduced in r8454. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8460 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-03wcte12xp: Use our own workqueue for the timer and maint events.Shaun Ruffell
When the latency is large and register reads can take 100s of milliseconds, the alarm polling function could tie up one of the global workqueue threads long enough to interfere with other system operations. Most noticeably the console. DAHDI-573 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8455 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-04-03wcte12xp: Resend both framer and VPM commands when reads may have been lost.Shaun Ruffell
Latency conditions could cause the driver to misconfigure the VPM which would result in one way audio. DAHDI-572. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8454 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-29dahdi-base: Fix a bug preventing clobbering maint stateRuss Meyerriecks
Now the errror injection code prevents placing the driver into a loopback state in a less forceful way. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8443 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-25wctdm24xxp: Add an 'hx8' mode for buffer processing.Shaun Ruffell
The Hx8 series cards do not need any idle buffers and idle_buffers complicate processing when using the timing_cable. This change adds another mode of operation for the voicebus layer for the Hx8 cards that operates without the idle buffers. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8431 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-25wcb4xxp - add Swyx 4xS0 SX2 QuadBri PCI IDsTzafrir Cohen
(closes issue #16493) Reported by: nic_bellamy Patches: wcb4xxp_swyx_sx2_quadbri_pci_ids.patch uploaded by nic bellamy (license 299) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8423 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-25Some more wcb4xxp PCI IDs for Junghanns cardsTzafrir Cohen
Resolve two open issues. One of them that accidentally wasn't closed. (closes issue #15446) (closes issue #16447) Reported by: lpistone Tested by: okrief git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8421 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-24wcte12xp: Fix typo in last commit.Shaun Ruffell
Wouldn't compile on kernels >= 2.6.20. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8416 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-24wcte12xp: t1xxp_maint is also called with interrupts disabled from dahdi_ioctlShaun Ruffell
So just push all the maintenance mode processing off to the workqueue. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8415 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-24wcte12xp: t1xxp_maint can be called from interrupt context.Shaun Ruffell
Since t1xxp_maint can be called from interrupt context with the DAHDI_MAINT_LOOPSTOP cmd, push the processing of that command to a workqueue since it may sleep in the t1_getreg call. DAHDI-560. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8410 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-24document the header line of /proc/dahdi/NNTzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8405 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-23wcte12xp: Fix potential race on command handling.Shaun Ruffell
If we timeout a command, don't free it right away unless we are the one who removed it from whatever list it was on. Also, increase the timeout (2 seconds wasn't enough when the firmware for the VPMOCT was being loaded on a system with 4K stacks) and check the return value from t1_getreg in case there were timeouts. DAHDI-560. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8400 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-23dahdi: 'clamp' may already be backported.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8399 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-23one-liner asciidoc syntax fixTzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8387 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-22wctdm24xxp, wcte12xp: Fix several problems with buffer processing.Shaun Ruffell
* If the receive packet isn't the correct size, we can't just drop it, we have to resubmit it to the receive queue immediately so it will get cleaned up properly. * It isn't safe to leave the buffers on any lists while calling the function to resubmit it to the descriptor ring, since it may be freed which potentially results in a corrupted list. * If the card is held up in a state where it is waiting for receive data, there is a chance that when the transmit process is started up again it could DMA data into a buffer that has already been freed. By using our own freelist, there isn't a chance that the board will DMA data into memory that has been recycled for another purpose. * Disable the tasklet when processing hard underruns in order to not corrupt the descriptor rings. * Make sure voicebus_stop and voicebus_release aren't running at the same time as the hard underrun handler. This too can result in corrupted descriptor lists. DAHDI-560. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8379 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-22wctdm24xxp, wcte12xp: Remove the completion on shutdown.Shaun Ruffell
Oddities in the receive processor state make this completion not so useful anymore. It is more straightforward to simply poll the state on shutdown. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8378 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-22wctdm24xxp, wcte12xp: Remove locking macros.Shaun Ruffell
Since the locking will always take place in a bottom half now (either a timer or tasklet), we do not need the special locking macros anymore. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8377 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-22wctdm24xxp: Make sure we're really stopped before deleting the channels.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8376 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-22wcte12xp, wctdm24xxp: Do not keep individual free lists for VPM commands.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8375 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-21fix two cases of missing __user annotation (sparse)Tzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8370 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-21Two more printk macros: NOTICETzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8360 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-20printk wrapper macros - first shotTzafrir Cohen
Add a number of printk-like macros to print messages for span and channel. I found them useful in the sysfs branch. The _dbg ones use the magical variable debug, and hence require the code to acknowledge that explicitly by defining DAHDI_PRINK_MACROS_USE_debug explicitly. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8354 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-18live_dahdi: fixes for rsync modeTzafrir Cohen
* Run programs from live tree rather than tools dir (not copied) * Calculate MODULES dir after reading config file (you'll still need to override it from the command line for building, but not for reload) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8347 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-09dahdi-base: Minor bugfix for alarm state indicationRuss Meyerriecks
Fixed a minor issue where stateless DAHDI_MAINT ioctl commands, such as error insertion and clearing, were indicating the span going into loopback alarm state when it really was not. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8298 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-08wct4xxp, wcte12xp: Fixed broken E1 and unsupported function bugsRuss Meyerriecks
* Fixed the bug where the card could not be brought out of local loopback in E1 mode. * Fixed a bunch of issues where the drivers didn't report unsupported maintenance functions correctly. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8291 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-08dahdi_maint: Added local loopback capability in E1 modesRuss Meyerriecks
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8279 a0bf4364-ded3-4de4-8d8a-66a801d63aff