summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2010-09-29dahdi: Anonymous member in dahdi_echocan_events union.Kinsey Moore
Make explicit what part of the union is being accessed. (closes issue #15908) Reported by: ys Patches: dahdi-dahdi_echocan_events.diff uploaded by ys (license 281) Signed-off-by: Kinsey Moore <kmoore@digium.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9421 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-24Move test for DEFINE_SPINLOCK into include/dahdi/kernel.hShaun Ruffell
The check for DEFINE_SPINLOCK was spread throughout the source tree. If not defined we can just define it in inlucde/dahdi/kernel.h. Now include/dahdi/kernel.h is the only place that references SPIN_LOCK_UNLOCKED (which breaks lockdep checking if DEFINE_SPINLOCK is otherwise defined in the kernel). Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Review: https://reviewboard.asterisk.org/r/940/ git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9411 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-24dahdi: Allow core DAHDI software timing to work when DAHDI_CHUNKSIZE > 8.Shaun Ruffell
When no hardware spans are configured DAHDI will use a kernel timer in order provide timing for conferences. This is what dahdi_dummy historically was used for. When kernel timers are used to provide timing DAHDI can both potentially slow the rate at which time timer runs and also needs to account for how many milliseconds of audio are processed for each 'tick' of process_masterspan. The result is that if you are only using DAHDI for app_meetme, you can change DAHDI_CHUNKSIZE to 40 (5ms) or 80 (10ms) bytes to reduce overhead since user space is dealing with chunks of 20ms by default anyway. NOTE: If you set this, you may still need to comment out the board drivers in drivers/dahdi/Kbuild since they all do not support operating with a DAHDI_CHUNKSIZE != 8 currently. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Review: https://reviewboard.asterisk.org/r/940/ git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9407 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-23dahdi: trivial spelling 'implemnted' -> 'implemented'Shaun Ruffell
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@9404 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-21dahdi: Fix comment ZapRAS -> DAHDIRAS.Shaun Ruffell
Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9394 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-21dahdi: Make CONFIG_DAHDI_PPP off by default.Shaun Ruffell
Before CONFIG_DAHDI_PPP can be on by default, some more work needs to be done to ensure that the ppp_generic module is not always loaded and that all channels do not carry around all the PPP members unnecessarily. (issue #17990) Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kevin P. Fleming <kpfleming@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9392 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-20dahdi: Remove redundant 'gainalloc' member from struct dahdi_chan.Shaun Ruffell
I want to add some new members to dahdi_chan, but I don't want to increase the overall size any more than necessary. Review: https://reviewboard.asterisk.org/r/905/ Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9385 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-20dahdi: Define psuedo channels as being without a span.Shaun Ruffell
Therefore we can use the fact that the span pointer on the channel is NULL to identify them. Review: https://reviewboard.asterisk.org/r/905/ Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9382 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-20dahdi: Embed the proc entries in struct dahdi_span.Shaun Ruffell
Part of preparations for replacing the array of spans with a list of spans. Review: https://reviewboard.asterisk.org/r/905/ Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9354 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-14dahdi: Fix for when PPP support is compiled as a kernel module.Shaun Ruffell
When compiling dahdi-linux I expect ppp support to be compiled in even if the kernel config has PPP configured as a module. (closes issue #17990) Reported by: jkroon Patches: dahdi-config-ppp.diff uploaded by jkroon (license 714) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9328 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-08-19dahdi: move 'dahdi_is_digital_span' back into wctdm24xp driver.Shaun Ruffell
Older kernels do not like the 'bool' type and I cannot just add it into include/dahdi/kernel.h without compile messages in the xpp driver where bool is defined directly. Since the wctdm24xxp driver is the only place using that function, I just moved it back there for now. This fixes a regression introduced in 9130. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9167 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-08-13dahdi: Make it clear that 'linecompat' can be used to identify analog spans.Shaun Ruffell
The linecompat member can be used by a span to identify the global-to-the-span signalling types supported. Analog spans do not support any span-global signalling and therefore linecompat should always be 0. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9130 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-08-09work around RHEL backport of strcasecmpTzafrir Cohen
RHEL/Centos 5.4 kernels broke after the latest strcasecmp backport. So skip them. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9117 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-08-06dahdi: Backport strcasecmp for kernels < 2.6.22Russ Meyerriecks
strcasecmp was brought into the kernel at v2.6.22 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9097 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-26wct4xxp: Removed card level event handlerRuss Meyerriecks
Upon review the event introduced in r8998 seemed to be redundant, as the same information was already available. Performance issues were also a concern. This reverts r8998. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9010 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-26Added hardware transformer checkRuss Meyerriecks
QuadFalc has the ability to test if the transformer is performing correctly. If the components between the framer and the physical span interface are shorted out or opened for any reason we can now detect it. Possible causes for tripping this error could be a broken transformer from an electrical spike or a board manufacturing error. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8999 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-26Added card level event handlerRuss Meyerriecks
When a loss of syncronization signal occurs on one of the spans, it affects all spans on that card. Since we do not have a span or card level event system, we have to queue up a global event on all channels for that card The new event is DAHDI_EVENT_SYNC git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8998 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-26Added the ability to trigger alarm simulation states in theRuss Meyerriecks
qfalc framer. Added some more verbose red alarm states in the upper byte of the alarm member of the dahdi_span structure Removed some unnecessary instrumentation regarding the enabling of the errored second and 1 second counters for performance collecting. Also added a couple comments. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8997 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-26dahdi: Move the 'owner' field from dahdi_span to dahdi_span_ops.Shaun Ruffell
One more thing that can be moved out of the per-span structure. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8986 a0bf4364-ded3-4de4-8d8a-66a801d63aff
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-06-27chan_notice() now worksTzafrir Cohen
Make chan_notice() and does not complain about undefined 'chan'. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8809 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. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8784 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-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-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-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-02-27dahdi: Add option to disable the EC disable tone detection algorithm.Shaun Ruffell
Define CONFIG_DAHDI_NO_ECHOCAN_DISABLE in include/dahdi/dahdi_config.h in order to prevent the tone detector from disabling software echocan. I slightly modified the noechodisable.patch. (closes issue #16805) Reported by: sles Patches: noechodisable.patch uploaded by sles (license 991) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8162 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-26dahdi: Change 'struct dahdi_spaninfo' in order to maintain Asterisk API ↵Shaun Ruffell
compatibility. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8147 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-26dahdi_dynamic: Use kernel versions where interface changed for workarounds.Shaun Ruffell
atomic_inc_return was added in 2.6.10, and synchronize_rcu() was added in 2.6.12. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8142 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-26dahdi_dynamic: Changes to allow to compile against vanilla 2.6.9 kernel.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8140 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-26Revert "dahdi: Move the definition of bool from xdefs.h into ↵Shaun Ruffell
include/dahdi/kernel.h" Reverts r8117. The wctdm24xxp driver can include <stdbool.h> directly. Reported by: seanbright git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8134 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-26dahdi: Add support for 16 kbps software hdlc.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8122 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-26dahdi: Add line options for BRI NT/TE mode and termination resistance.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8120 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-26dahdi: Move the definition of bool from xdefs.h into include/dahdi/kernel.hShaun Ruffell
I intend to use the bool definition in the wctdm24xxp driver and don't want to duplicate the definition. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8117 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-02-25dahdi_dynamic: Add TDMoE Multi-Frame support.Shaun Ruffell
Add TDMoE Multi-Frame support as described in the article at the following URL: http://www.thrallingpenguin.com/articles/tdmoe-mf.htm TDMoE-MF is known to be implemented in hardware solutions from Redfone Communications. This patch additionally implements RCU within dahdi_dynamic to decrease lock contention, latency, and context switching. Because of the use of RCU locking, all prior known issues with loading and unloading of the modules are resolved, providing the spans are shutdown with "dahdi_cfg -s". It also contains an attempt, which works, at fixing a kernel change with skb_linearize(). The use of kernel version number does not work with SuSE SLES 10, as it appears they have backported the 2.6.18 change in to their 2.6.16 version. This merges in the work Jbenden did at: http://svn.digium.com/svn/dahdi/team/jbenden/tdmoe-mf@8102 (issue #13483) Patch by: JBenden Reported by: JBenden Tested by: JBenden git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8103 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-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-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-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
2009-12-28autoconf.h is inlcuded by Kbuild at the command-line.Tzafrir Cohen
No need to explicitly include it. Also note that <linux/autoconf.h> is invalid as of 2.6.33 . It is now <generated/autoconf.h> (but anyway, should not be #include-d directly). git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7732 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-12-14DAHDI_AUDIO_NOTIFY: Also pass DAHDI_AUDIOMODE to channel driverTzafrir Cohen
Adds a new compile-time option DAHDI_AUDIO_NOTIFY. With it there's a new span hook, audio_notify, that gets called (if not NULL) whenever the ioctl DAHDI_AUDIOMODE is called for a channel. This can be useful to tell (in most cases) if an ISDN channel is active or not and thus allow the low-level driver to optimize traffic when channels are not active. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7691 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-11-12kernel.h: Define 'list_replace' for kernels < 2.6.18Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7571 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-09-30move the dev->bus_id fix from xpp to kernel.h: needed elsewhereTzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7293 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-07-21dahdi-base: Add support for core timing.Shaun Ruffell
This essentially moves the function of dahdi_dummy into the core of DAHDI. It ensures that if DAHDI is loaded, it will always be able to provide timing, regardless of whether there are board drivers loaded, or if the board drivers are properly calling dahdi_receive. If there is a master span loaded which is calling dahdi_receive, then the behavior will be like it is normally. This functionality is off by default, uncomment CONFIG_DAHDI_CORE_TIMER in include/dahdi/config_dahdi.h in order to enable it. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6863 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-07-13wctc4xxp: Remove deprecated DMA_xxBIT_MASK usage.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6838 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-06-29dahdi-base: Enable DAHDI to manage the reference counts for the board drivers.Shaun Ruffell
Adds a struct module 'owner' member to the dahdi_span structure and updates all the board drivers to set this member before registering the span. This allows the core of dahdi to maintain the reference counts on the channels itself. (closes issue #10601) Reported by: Matti git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6794 a0bf4364-ded3-4de4-8d8a-66a801d63aff