summaryrefslogtreecommitdiff
path: root/drivers
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-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-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-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-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-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
2010-03-08wct4xxp: wcte12xp: Revised maint clearingRuss Meyerriecks
Looping modes are now mutually exclusive. If two looping modes are enabled simultaneously it tends to hose up our framer chip. Now, all looping modes are cleared in the driver before any are set. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8274 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-05wct4xxp: Fixed inability to disable network payload loopingRuss Meyerriecks
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8255 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-05wct4xxp: Removed over-verbose instrumentationRuss Meyerriecks
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8250 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-04Fix issue with T1/E1 selection jumper always readingMike Spiceland
E1 selection. DAHDI-553 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8245 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-02Revert commit 8096. Causes register problems on XHFC SPI interfaces.Matthew Fredrickson
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8220 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-01voicebus: Include dahdi/kernel.h in voicebus_net.cShaun Ruffell
Brings in any backward compatibility definitions. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8204 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-01wctdm24xxp: Mark the robust module parameter as DEBUG only.Shaun Ruffell
In testing this option didn't appear to function properly. Just mark it debug only so it's not part of the "official" interface in case there are some users of it out there that I'm not aware of. DAHDI-267. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8203 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-01wctdm24xxp, wcte12xp: Add optional module parameter to set the maximum latency.Shaun Ruffell
Setting the maximum latency can be useful if you have a system event that normally causes a latency increase, but you would rather have a break in the audio or frame slip, then let the latency grow to the current default maximum which is 25ms. DAHDI-278. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8198 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-01wctdm24xx, wcte12xp: Fix compiler warning about unused local variable.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8189 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-03-01wcmtd24xxp, wcte12xp: Make vpmsupport module parameter read only.Shaun Ruffell
The vpmsupport module parameter (and a few other ones) do not do anything if they are changed after the driver is first loaded. Therefore, let's make these module parameters read only at runtime. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8188 a0bf4364-ded3-4de4-8d8a-66a801d63aff