summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2010-11-04dahdi: Remove DAHDI_CONFLINK functionality.Shaun Ruffell
Conference links do not appear to be in use anymore and they are now removed. I could not find any references to this ioctl in the asterisk repository, or zaptel user space tools. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9463 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-25Minor logging text changeRuss Meyerriecks
Renamed the NMF workaround message to the more informational crc4-multiframe (mis)alignment message. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9461 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-25dahdi: Eliminate NULL dereference when bridging channels.Shaun Ruffell
When using conference mode DAHDI_CONF_DIGITALMON ensure conf_chan is set. Otherwise we dereference a NULL 'conf_chan'. Fixes regression introduced in revision 9381 Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9457 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-25wctdm24xxp: Detect FXS modules based on the 3210 SLIC.Shaun Ruffell
Fixes a regression introduced in revision 5916 where FXS modules based on the 3210 were not properly detected. (closes issue #18184) Reported by: bsexton Patches: dahdi-fxo-detect.diff uploaded by bsexton (license 1133) Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9456 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20wcb4xxp: Support beroNet BN4S0e PCI Express cardTzafrir Cohen
Add extra PCI IDs to support "beroNet BN4S0e PCI Express 4x S0 Karte". Origin: http://bugs.debian.org/600839 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9451 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20dahdi-base: Fixed null pointer dereference in dahdi_check_confKinsey Moore
Fixes regression from rev 9366 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9449 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20dahdi: Remove CONFIG_OLD_HDLC_API since that is kernel 2.4 specific.Shaun Ruffell
DAHDI does not support any kernels older than 2.6.9. No need to keep the old HDLC interface support around. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9447 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20wctdm24xxp, wcte12xp: Remove unused 'whichframe' parameter.Shaun Ruffell
'cmd_dequeue_vpmadt032' in the wctdm24xxp and wcte12xp drivers no longer care about which frame they are on. The command will be packed into the eframe specified by "writechunk". Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9446 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20dahdi: Drop some 'zt' prefixes on chan.Shaun Ruffell
'zt' is a carry over from the Zaptel days. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9445 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20dahdi: Atomically set/test if channel has associated network device.Shaun Ruffell
Push all tests for the DAHDI_FLAGBIT_NETDEV flag behind a 'dahdi_have_netdev' function so if CONFIG_DAHDI_NET is not defined the compiler can just remove all the flag tests. Also, makes sure that the bit is checked / set atomically. (closes issue #9379) Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9444 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20dahdi_echocan_oslec: Call olsec_hpf_tx if CONFIG_DAHDI_PROCESS_ECHOCAN_TX is ↵Shaun Ruffell
defined. It can be necessary to have low frequency filter for tx signal of DAHDI. Otherwise, low-frequency signal from IP can reach a leased line, and return back with nonlinear distortions. This will break an echo canceler. (closes issue #13562) Reported by: biohumanoid Patches: dahdi_echocan_oslec.c.patch uploaded by biohumanoid (license 459) I slightly modified the above patch in order to use echocan_process_tx as the interface. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9443 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20dahdi: Add compile time DAHDI_ECHOCAN_PROCESS_TX option.Shaun Ruffell
Add optional interface to allow software echo cans to process the transmitted samples. Can be used for things like DC removal. I used the following patches uploaded by biohumanoid but changed the name of 'echocan_hpf_tx' to 'echoan_process_tx and put the changes behind a compile time option. (issue #13562) Reported by: biohumanoid Patches: kernel.h.patch uploaded by biohumanoid (license 459) dahdi-base.c.#2.patch uploaded by biohumanoid (license 459) Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9442 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20wctdm24xxp: Leave FXO (DAA) always in full-wave ring detect mode.Shaun Ruffell
In zaptel commit 4096 [1], all the debouncing of ring signals were moved into software as opposed to using the ring validation circuit in DAA. That commit failed to remove the initial check and set of the ring validation circuit. [1] http://svn.digium.com/view/zaptel?view=revision&revision=4096 (closes issue #16894) Reported by: rde42 Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9441 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20wctc4xxp: Space required after ','.Shaun Ruffell
Trivial formatting change. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9440 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20wctc4xxp: Remove trailing whitespace.Shaun Ruffell
Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9439 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20wctc4xxp: Cannot print the encoder/decoder channels before we know them.Shaun Ruffell
Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9438 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20wctc4xxp: 'WARN_ON(1)' -> 'dev_info(...' on channel creation failure.Shaun Ruffell
If the DSP ever finds it's way into a bad state it can be possible for a timeslot to get 'wedged'. All attempts to create a channel in a wedged timeslot will fail and the WARN_ON macro can quickly fill the logs. This change adds some more debugging information (which timeslot is wedged) along with the result code from the DSP and puts it all behind a printk_ratelimit. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9437 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20wctc4xxp: Drop 'DTE_PRINTK' macro in favor of standard 'dev_xxx'Shaun Ruffell
Just use the standard way to print messages associated with a particular device. Also dropped the "Attached to device at" message since that information is now printed on every print. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9436 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20wctc4xxp: Remove 'service_dte' function and a few inline keywords.Shaun Ruffell
'service_dte' was only called in one place and is only two lines. I do not think it is adding much anymore. Also, let compiler should decide if 'service_rx_ring' and 'service_tx_ring' should be inlined. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9435 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20dahdi: '-o' -> '--no-same-owner' in drivers/dahdi/firmware/MakefileShaun Ruffell
It appears that in Centos 4, the version of tar doesn't like the -o flag, but will honor the --no-same-owner flag. (closes issue #16063) Reported by: tzafrir Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9434 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20dahdi: dahdi_chan_unreg was not cleaning up conferenced channels properly.Shaun Ruffell
'is_monitor_mode()' and DAHDI_CONF_DIGITALMON were mutally exclusive. Fixes recent regression introduced in revision 9367. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9433 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-20vpmadt032: Honor the CONFIG_DAHDI_NO_ECHOCAN_DISABLE flag.Shaun Ruffell
Setting this configuration option would not have had any impact when a hardware echo canceler was in use. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> Acked-by: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9432 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-18xpp: Fixes init error for PRI devices with < 4 portsTzafrir Cohen
Fixes a regression singce r8873: if pri_protocol is not explicitly set (in /etc/dahdi/xpp.conf) and the device has (licences for) less than 4 "PRI" (E1/T1) ports, the initialization script will attempt to read from a non-existing SysFS file, and bail out, resulting in a the device failing to initialize. For those non-existing ports we can just skip that part of the initialization. So we just skip it. Work around: explicitly set pri_protocol to E1 or T1, as needed. Xorcom Rev: 8047. Ticket: 1334. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9430 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-10-04dahdi: 'if (chan)' -> 'if (!chan)' in dahdi_ioctl_getgains.Shaun Ruffell
Fixes a typo recently introduced that was preventing asterisk from setting the swgains on a channel. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9423 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-29dahdi: Anonymous member in dahdi_echocan_events union.Shaun Ruffell
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-29dahdi: Fix 'void *' pointer arithmetic warnings.Shaun Ruffell
(closes issue #15927) Reported by: Max Khon Patches: dahdi_echocan2.diff uploaded by Max Khon (license 884) void2.diff uploaded by Max Khon (license 884) 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@9420 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-27wcb4xxp: Spelling 'LOOKBACK_SUPPORTED' -> 'LOOPBACK_SUPPORTED'Shaun Ruffell
(closes issue #16658) Reported by: kurtlidl Patches: base.c.diff uploaded by kurtlidl (license 962) Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9416 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-24dahdi: Remove bigzaplock by converting chan_lock to spinlock_t.Shaun Ruffell
The bigzaplock was used to prevent changes to all the channels during masterspan processing while conference parameters were changing. The master span processing also took a global lock out on the chan_lock to prevent new channels from being registered or unregistered during processing. Instead of grabbing both those locks, just changing the semantics of chan_lock to those of bigzaplock seems to fit the bill and removes another lock from the driver (and saves ~10 ns on a 2.40 GHz Xeon in prcocess_masterspan) chan_lock is a candidate for conversion to RCU but usage in conferencing (bigzaplock type usage) needs to be audited carefully before conversion. 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@9414 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-24dahdi: process_timers is already called with interrupts disabled.Shaun Ruffell
Very slight performance increase when timertest is running in the background. Measured at ~10 ns improvement over 10K samples. 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@9413 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-24dahdi: Rename 'zaptimer' -> 'dahdi_timer'Shaun Ruffell
DAHDI is not Zaptel anymore. 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@9412 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: Remove remaining #if 0 locations from dahdi-base.Shaun Ruffell
Dead code elimination. 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@9410 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-24dahdi: Only disable/enable interrupts once when iterating through channels.Shaun Ruffell
dahdi_receive, dahdi_transmit, and dahdi_ec_span are mostly called from interrupt context anyway, so we can save a few cycles by not saving and restoring the interrupt flags for every channel. On one 2.40GHz Xeon test machine, for a span with 24 channels w/o echocan enabled with ~10000 samples: Function Avg Before Avg After ====================================== dahdi_receive 2.109 us 1.547 us dahdi_transmit 3.203 us 2.766 us dahdi_ec_span 0.416 us 0.454 us NOTE: The time went up slightly on dahdi_ec_span since I did not have software echocan enabled and this change calls local_irq_save regardless in dahdi_ec_span. The slight increase in processing time in this case is overshadowed by the savings in dahdi_receive and dahdi_transmit. If echocan was enabled on all the channels there would be a time savings in that dahdi_ec_span too. When dahdi_receive/dahdi_transmit are called every millisecond (when DAHDI_CHUNKSIZE == 8) this saves ~0.1% CPU time for each span. 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@9406 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-23dahdi_dynamic: Update copyright.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@9403 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-23wcte12xp, wctdm24xxp: Convert vbb cache from kmem_cache to dma_pool.Shaun Ruffell
The voicebus interface constantly uses the same buffers for moving data to/from the card. A fixed pool has less overhead in this case than constantly mapping/unmapping the kmem_cache_alloced buffers. Saves about ~2.608 us for each run of vb_isr on a 2.40 GHz Xeon test machine. 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@9402 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-23wcte12xp, wctdm24xxp: Remove comment about converting from IO space.Shaun Ruffell
This change was made in revision 8176. 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@9401 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-23wct4xxp: Drop usage of 'volatile' qualifier.Shaun Ruffell
The registers on the device are already accessed with readl/writel and the readchunk and writechunk are mapped into coherent DMA region. The contents of those buffers should not be changing in the middle of any transmit/receive prep call. 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@9400 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-23wct4xxp: Add debug option to log detected RBS bit changes.Shaun Ruffell
Normally you can see RBS bit states in dahdi_tool, but you might also want them logged to dmesg for troubleshooting. (issue #18025) 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@9399 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-21wcte12xp, wctdm24xxp: Do not rely on polling main memory.Shaun Ruffell
The voicebus library by default configures the PCI interface to poll the descriptor ring for available buffers. There are some platforms like the Intel SG3420P motherboard where this does not appear to be sufficient. Writing to the transmit demand poll register resolves this problem on these troublesome platforms. DAHDI-700 DAHDI-702. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9397 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-21wctdm24xxp: Add optional FXO digital loopback if DEBUG is defined.Shaun Ruffell
This module parameter will allow patgen/pattest to be used only on FXO ports. *ALL* FXO ports will be placed in digital loopback mode when set. The current intent is for this to be removed as an optional module parameter when there is a channel by channel representation in sysfs. Otherwise, a new IOCTL would have to be defined and a tool written in order to support this. DAHDI-696. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9391 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-20dahdi: Channels can have their own file_operations structure.Shaun Ruffell
If we know that an open file is associated with a channel (pseudo or real) we can just update the file->f_ops pointer so that we can short circuit some of the checks in read/write/poll. Trades sizeof(file_operations) bytes for less function call overhead in the "hot" path. On a 2.4 GHz Xeon, saves around 150 ns on each read / write. 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@9386 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: Change iteration through pseudo/real chans in process_masterspan.Shaun Ruffell
Since we have the pseudo channels on their own list, we don't need to step through the chans array when we just want to find the pseudo channels. Likewise, all the real channels will have be on a span. Also removes references to the global chans array in process_masterspan. 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@9384 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-20dahdi: Keep psuedo channels on pseudo_chan_list.Shaun Ruffell
Since pseudo channels are without spans and we would like to use the span list to enumerate through all the channels, keeping the psuedo channels on their own list is required. I believe this is a more natural choice than making a dummy spans for pseudos since pseudo channels should *really* just be an implementation detail that the user shouldn't care about. 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@9383 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: Reduce 'chans' references in dahdi_ctl_ioctl.Shaun Ruffell
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@9381 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-20dahdi: 'user_data' is extraneous in dahdi_ctl_ioctl.Shaun Ruffell
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@9380 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-20dahdi: Remove unused unit from dahdi_common_ioctl.Shaun Ruffell
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@9379 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-20dahdi: Move DAHDI_SPANSTAT ioctl handlers into separate functions.Shaun Ruffell
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@9378 a0bf4364-ded3-4de4-8d8a-66a801d63aff