summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-02-25wctdm24xxp: Partially unroll the TDM data extraction / insertion.Shaun Ruffell
Saves about 10us each interrupt on 3.06 GHz Xeon. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8097 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-25wctdm24xxp: Only use the first three EFRAMES for module commands.Shaun Ruffell
On a 2.6.32.7 debug kernel with a TDM2400, this can save up to 30ms every second of processing time without any appreciable impact on runtime performance since most of the commands to the modules during normal operation are reads, and therefore only one would be in each SFRAME anyway. The impact of this change is less for TDM410 and TDM800 since they already limit the number of modules that they look for queued commands for. There is still more room for optimizing module command handling. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8096 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-25wctdm24xxp, wcte12xp: Buffer handling improvements.Shaun Ruffell
This patch moves the majority of the buffer processing for the voicebus based cards out of the interrupt handler and into a tasklet. When multiple cards are running on the same CPU, and there was a latency condition that would cause them to get behind, this now allows the tasklet to limit how many buffers are processed on each card before giving the other card a chance to start working on it's backlog. Additionally, when the card detects a hard under run, instead of trying to fix it up in the handling routine, it will now reschedule a work item that will completely reset the descriptor rings. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8095 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-25wctdm24xxp: Provide option to initialize boards in parallel on kernels > 2.6.30Shaun Ruffell
The 2.6.30 kernel provides support for asynchronous initialization. If running on a kernel that supports this feature, let's add an option to use it in order to speed up driver load times. Keep it off by default. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8094 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-25voicebus: Fix for commit r8003.Shaun Ruffell
Revision 8003 added timeouts when loading the firmware, but there was an error in the timeout logic and also the timeout wasn't waiting long enough. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8093 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-24wct4xxp: Removed a spurious paste.Russ Meyerriecks
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8087 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-24wctdm24xxp, wcte12xp: Abort attach if interface fails to come out of reset.Shaun Ruffell
If the reset bit never clears, then just assume we cannot talk to the board and error on the attach. DAHDI-515. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8080 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-22Branch merge from the maintenance modes projectRuss Meyerriecks
* Added logic for both the single and dual/quad span cards for supporting local loopback (virtual loopback plug), network loopback, network payload loopback, loopup, and loopback transmitting. * Added logic for the dual/quad span driver to support exporting the performance and error counters including : - errored seconds - framing errors - coding violations - bipolar violations - crc4 errors - ebit errors - fas errors * Moved the error and performance counters into a substructure for all drivers taking advantage of dahdi_span bpvcount. * Modified the DAHDI_SPANSTAT ioctl interface, so I moved the old interface to DAHDI_SPANSTAT_V1. The new interface comes with a nice, new shiny packed struct dahdi_spaninfo. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8061 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-22replace dahdi_dummy with internal timingTzafrir Cohen
* Enable the internal timing of DAHDI. * Disable building dahdi_dummy. * Have dahdi provide the alias 'dahdi_dummy', to allow 'modprobe dahdi_dummy' to still work. The code of dahdi_dummy is still kept, as some people may need the extra flexibility it provides. Those people are advised, though, to let us know what features are missing from the core module. Running 'modprobe dahdi_dummy' explicitly in a script or having 'dahdi_dummy' in /etc/dahdi/modules is thus also discourged. This patch is intentionally small (stripped of documentation) to simplify backporting. Documentation will follow. Review: https://reviewboard.asterisk.org/r/518/ git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8053 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-15allow overriding udev rules dirTzafrir Cohen
Later versions of udev prefer installing (packaged) udev rules under /lib/udev/rules.d . Let's make our path easier to override by packagers. No functional change. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8040 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-15Don't generate static device files at install time.Tzafrir Cohen
* Most users use udev anyway * Don't attempt to create any device files in the 'install' target. * Setting DYNFS at build time should no longer be needed - Though remains harmless. * In order to create the static device files, use the script: build_tools/make_static_devs git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8034 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-15make_static_devs: a script to generate the static device files.Tzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8033 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-10voicebus: Improve hard underrun handling.Shaun Ruffell
When there is a hard underrun, or in other words interrupts are held off for so long that the board completely runs out of transmit descriptors, it was too easy for the driver to be in a 'confused' state about the descriptors. This change has the driver cleanup and reset the descriptor ring in this case so that we're not racing against the interface while we resume normal operation. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8026 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-10vpmadt032: show the location of the device printing to the kernel logShaun Ruffell
Another commit that has formatting problems (mainly lines over 80 characters) that I will fix in a later commit. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8025 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-10wctdm24xxp: make sure we show which card is displaying the message.Shaun Ruffell
NOTE: This change has formatting problems that I'll fix in a later commit, I do not want to cause myself too much merge pain right here. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8024 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-10dahdi-base: Convert fatal_signal_pending from inline into macro.Shaun Ruffell
This symbol first shows up in kernel version 2.6.25, but some distros have it back ported into their tree. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8018 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-10vpmadt032: Do not print error message on timeout.Shaun Ruffell
The error message will be printed higher up anyway and dev_err doesn't work on < 2.6.18 in this module since this module isn't GPL. Building against a 2.6.18 tree that was prepared with "make modules_prepare" wasn't enough to catch this problem since modpost can't run against the tree like that. http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=310a922d4307ed38b37982a6f93b11fdf3b8dcb1 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8017 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-08voicebus: Reset own bits when a soft underrun is detected.Shaun Ruffell
If a combination of softunderun results in descriptors that aren't owned being skipped in the vb_recover_tx_descriptor_list, it's possible for processing to stop on a descriptor that isn't owned. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8010 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-08dahdi: Update the Digium copyright on files changed since 2010-01-01.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8008 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-08wctdm24xxp, wcte12xp: Abort the search for modules if killed.Shaun Ruffell
If the user kills the modprobe process that is initializing the modules, exit as soon as possible and do not look for any other modules. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8007 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-08wcte12xp: Identify the card that is printing to the kernel log.Shaun Ruffell
Drops all users of module_printk in order to use 't1_info', which is a wrapper for dev_info. Also updates debug_printk to also print the bus location information. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8006 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-08wcte12xp, wctdm24xxp: Declare static symbols that aren't externally referenced.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8005 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-08dahdi-base: Minor changes for sparse.Shaun Ruffell
Mostly making sure __user flag is caried through appropriately on user mode access, but also two cases of removing dynamically sized arrays (which unduly complicate using the kernel backtrace when you don't have a debugger attached since you do not know how much data is really on the stack), and editing dahdi_chan_register so that the lock/unlock context is clear. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8004 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-08vpmadt032,wcte12xp: Use a timeout on the read/write commands and during load.Shaun Ruffell
It is possible for poorly behaving hardware (and driver bugs) to lockup the modprobe process by having it wait indefinitely for a command to complete that never will. DAHDI-451. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8003 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-08voicebus: Remove unused 'voicebus_get_pci_dev'.Shaun Ruffell
Function is no longer needed since the 'struct voicebus' is now embedded in the client contexts. This commit also contains a few trivial formatting changes for sparse's sake. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8002 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-03wctdm24xxp: Add back in 'static' for ACIM2TISS as well.Shaun Ruffell
Acidentally removed... git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7985 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-03wctdm24xxp: inadvertently removed 'static' from FXO_ADDRSShaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7984 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-03wctdm24xxp, voicebus: Move sysfs handling from voicebus to wctdm24xxp.Shaun Ruffell
The drv_data attached to the pci_dev is no longer the 'struct voicebus' pointer, but is instead the 'struct wctdm' (or 'struct t1'), so the clients need to manage the sysfs files themselves. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7983 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-03wctdm24xxp: Localize fxo_addrs array reference.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7982 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-03wctdm24xxp: Localize the reference to acim2tiss.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7981 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-03wctdm24xxp: Remove unused ERING_SIZEShaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7980 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-03wctdm24xxp: Cleanup after a failed call to dahdi_register.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7979 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-26xpp_debug: a helper script to use debugging parameters with names.Tzafrir Cohen
(not intended to be installed) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7964 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-18wct4xxp: Replaced a lost member of the t4 struct, which was clobbered inRuss Meyerriecks
the merge commits. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7941 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-18wct4xxp: Gen5-rc1 updates the device_id.Russ Meyerriecks
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7934 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-18wct4xxp: Make Missed interrupt message off by default, and incrementingRuss Meyerriecks
irqmisses if we have to do a latency bump git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7933 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-18wct4xxp: One more readback in the _in routines to make sure the writesRuss Meyerriecks
clear bridges and such git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7932 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-18wct4xxp: Make sure 2 port cards only use 2 portsRuss Meyerriecks
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7931 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-18wct4xxp: Add new 5th gen identifiersRuss Meyerriecks
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7930 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-18wct4xxp: Fix problems so that pedantic pci does not have to be enabledRuss Meyerriecks
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7929 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-18wct4xxp: Add a few bug fixes for latency bumps and for the newRuss Meyerriecks
ms_per_irq variable git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7928 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-18wct4xxp: Add some protection to prevent latency bumps during load time onlyRuss Meyerriecks
events such as firmware load git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7927 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-18wct4xxp: Gen 5 latency changes and performance enhancements (interrupt rate ↵Russ Meyerriecks
reduction, etc) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7926 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-18wct4xxp: Fixing errata with the qfalc3.1 chip. Sometimes, in T1 mode, whenRuss Meyerriecks
the yellow alarm signal is being handled manually, the yellow alarm state can be stuck. We cannot use automatic mode due to custom debouncing logic, so we force manual mode and hit a bugfix register defined in the errata. wct4xxp: Differences between the 2.1 and 3.1 qfalc architecture cause previously ignored timing slip interrupts to show up. Now we mask those interrupts at the hardware level for each span, while that span is in loss of signal, or loss of frame alignment mode. Interrupts are unmasked after a valid signal is re-established. wct4xxp: Reworked the timing code so it makes more logical sense. Both the SCLK and RCLK timing sources are explicitly defined. This allows for a valid RCLK DCO source regardless of SCLK's source. This fixes the broken multiplexer problem on the 3.1 chip and is backwards compatible with the 2.1 chips. wct4xxp: Changed the initialization value for Clock Mode Reg 1 1) We don't use TCLK in the design, the only xmit clock to be referenced is SCLK. 2) We should disable Clock-Switching, as SYNC is also not to be used as a timing source. wct4xxp: Removed a "dmactrl" set that was clobbering the span's timing, forcing the fpga into recovered timing(RCLK) output on SCLK even if it was set to provide system timing(MCLK) on SCLK. The theory is that this problem only presented itself in FALC v3.1 due to a difference in PLL types between the two versions. wct4xxp: Fixed blue alarm detection wct4xxp: qfalc v3.1 now has integrated xmit resistors. The external resistors connected to XL1 and XL2 pins are now replaced with 0ohm resistors. Now we program PC6.TSRE to switch between 2ohms for T1 and 7.5ohms for E1 mode. wct4xxp: There appears to be an undocumented errata where the qfalc v3.1 with regards to CAS robbed bit signalling configuration. For some reason, it checks the config of the port configuration registers in addition to the ones that specify where the robbied bit signalling transmit will come from. For our case, we want it to come from the transmit register block. This new port configuration allows v3.1 to continue to use the register block as expected instead of from an external serial pin. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7919 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-12xpp: xpd_fxo: two extra parameters regarding batteryTzafrir Cohen
Make module parameters out of two constants to allow further tweaking in the detection of battery. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7883 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-11live_dahdi: just make sure we have crc_ccitt on the system.Tzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7867 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-11Fail gracefully if we already have more than 1024 channels.Tzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7850 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-11xpp: demote a message that generates some false alarms.Tzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7843 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-10xpp: USB_FW rev 7578Tzafrir Cohen
Fixes various minor twinstar-related bugs. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7815 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-10xpp: fixes for drift calculation.Tzafrir Cohen
Should help for the case of multiple quad-PRI Astribanks on a single system. xpp rev: 7666. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7807 a0bf4364-ded3-4de4-8d8a-66a801d63aff