summaryrefslogtreecommitdiff
path: root/drivers/dahdi/wctdm24xxp/base.c
AgeCommit message (Collapse)Author
2009-09-14Race condition in handling writes to proslic LINEFEED register (64)Doug Bailey
The wctdm24xxp driver has a problem where a VMWI IOCTL call followed immediately by a ONHOOKTRANSFER IOCTL call will cause the ONHOOK transfer request to be dropped. This occurs if the write to the proslic's LINEFEED register for the VMWI ICTL call is not completed when the ONHOOK transfer request IOCTL is processed. I also cleaned out some magic numbers used in setting the linefeed register. (closes issue #15875) Reported by: dbailey Patches: 15875-wctdm24xxp.diff uploaded by dbailey (license 819) Tested by: dbailey git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7117 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-09-07wctdm24xxp: Remove a few more unneeded 'volatile' keywords.Shaun Ruffell
The writechunk and readchunk parameters are never accessed by hardware at the same time that the software is accessing them anymore. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7094 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-08-19Ensure that dahdi_scan correctly reports VPM presence.Kevin P. Fleming
The wct4xxp driver (for the dual/quad span T1/E1 cards) and the wcte12xp driver (for the single span VoiceBus-based T1/E1 cards) did not properly update the 'devicetype' field reported by dahdi_scan when a VPM was found during the card startup process. As a result, dahdi_scan did not show that a VPM was present on the card, even if it was. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7038 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-08-14wctdm24xxp, wctdm: Detect if our hookstate has been set back to the initial ↵Shaun Ruffell
state. Check if our hookstate has been set back to the initial state, typically the result of a chanconfig, and if so, if we're an FXO port, forget our current battery state. This allows the driver to determine and report again what the hook state of the port is. (related to issue #14577) (closes issue #15429) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7003 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-08-13wctdm24xxp: Use the ARRAY_SIZE macro where appropriate.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6982 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-08-05wctdm24xxp, wctdm: Formatting changes.Shaun Ruffell
Update the lines affected by revision 6941. I'm taking every opportunity to move DAHDI closer to the kernel coding conventions short of just reformatting for the sake of reformatting. The majority of these changes are to bring the line lengths under 80 chars. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6945 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-08-05Change proslic linefeed register settingDoug Bailey
Insure that proslic linefeed register is not transitioned from Active to On-Hook Transmission while the channel is off-hook. Replaced magic numbers assigned to linefeed associated variables with more descriptive constants. (issue #15352) Reported by: alecdavis Patches: wctdm_prevent_ohttimer_click.diff3.txt uploaded by dbailey (license 819) Tested by: alecdavis, dbailey, vmikhelson git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6941 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-08-04wctdm24xxp: txints and rxints duplicate intcount. Remove them.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6932 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-08-04wctdm24xxp: Eliminate 'variety' and 'type' members from 'struct wctdm'.Shaun Ruffell
struct wctdm can hold a pointer to struct wctdm_desc directly, and eliminate the need to copy members of wctdm_desc into wctdm. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6929 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-08-04wctdm24xxp: Remove some unused members from struct wctdm.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6927 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-08-04wctdm24xxp: We no longer need to keep our own reference count.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6926 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
2009-06-18wctdm, wctdm24xxp, wcfxo: Fix calls to dahdi_hooksig.Shaun Ruffell
When JAPAN, AUDIO_RINGCHECK, or ZERO_BATT_RING compile time options are selected it is possible to get a kernel panic due to an invalid pointer passed to the dahdi_hooksig function. (closes issue #15350) Patch by: alecdavis git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6692 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-05-11voicebus: Update the default vpmadt032 parameters.Shaun Ruffell
Move the echo can channel parameters into a common location for both the wcte12xp and wctdm24xxp drivers that use the voicebus module. This is intended to make it clearer which differences are required between the clients. Additionally, update the default parameters to the new recommended values. VPMADT032-37 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6589 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-05-07voicebus: Create workqueue for each vpmadt032 instance.Shaun Ruffell
Depending on the system latency, the deferred work for the vpmadt032 can take up to 200ms. This change allows each vpmadt032 to use its own workqueue, and not the global system workqueue. This prevents vpm operations from blocking the main system workqueue for extended periods. This restores the behavior to the way it was before the common vpmadt032 code was moved out of the wctdm24xxp and wcte12xp drivers. DAHDI-260 voicebus-squash: Adding the wq name. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6572 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-05-07voicebus: Changing default NLP type to 'suppression'.Shaun Ruffell
The 'suppression' default for the NLP provides better echo canceling performance. Also ensures that the wctdm24xxp and wcte12xp driver use the same default values. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6568 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-04-30Ensure that vpmsupport=0 module parameter takes proper effectKevin P. Fleming
For these drivers, when the vpmsupport module parameter is set to zero, don't even register the span as supporting echo cancellation. DAHDI-250 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6544 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-04-29echocan: Improve interface for echo cancelers.Shaun Ruffell
Echo cancelers are now able to report if they are able to automatically disable their NLP portions in the presence of tones in the audio stream. Also, the interface is changed to allow user space to just disable the NLP portion of the echo canceler. These changes improve fax and modem handling in DAHDI. This commit merges in the changes on http://svn.digium.com/svn/dahdi/linux/team/kpfleming/echocan_work Patch by: kpfleming Also contains improvements to CED tone detection. (closes issue #13286) Reported by: viniciusfontes git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6529 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-04-29voicebus: Move common vpmadt032 interface into voicebus module.Shaun Ruffell
The voicebus library was previously linked into both the wcte12xp and wctdm24xxp drivers. It is now broken out into it's own module and the common parts of the vpmadt032 interface are now located in that module to reduce duplication between the wcte12xp and wctdm24xxp drivers. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6527 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-01-30Do a stricter test for FXS modules. FXO modules will be hi-z during this ↵Mike Spiceland
time and the value will be undefined. This test ensures that FXO modules will not falsely trigger during FXS probes. The value of 0x88 from register 1 has been confirmed during this stage on quad and single port modules. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@5916 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-01-27Break VMWI ioctl calls into two separate calls to maintain old revision ↵Doug Bailey
compatibility (issue #14104) Reported by: alecdavis Tested by: dbailey git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@5826 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-01-22Change structure passed in DAHDI_VMWI ioctl call to make it so new VMWI ↵Doug Bailey
types do not break the ioctl call Remove FSK and RPAS from the VMWI types as no driver implemented them and the functionality is in chan_dahdi. (issue #14104) Reported by: alecdavis Patches: mwiioctl_structure_dahdi.diff4.txt uploaded by dbailey (license ) Tested by: alecdavis, dbailey git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@5799 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-01-21Change the DAHDI_VMWI ioctl call to pass data via structure. Doug Bailey
Changed wctdm and wctdm24xxp to handle these calls. (issue #14104) Reported by: alecdavis Patches: mwiioctl_structure_dahdi.diff2.txt uploaded by dbailey (license ) Tested by: alecdavis, dbailey git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@5785 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-01-19Add mask for portion of DAHDI_VMWI ioctl call that carries the number of ↵Doug Bailey
messages pending. Remove magic number from code. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@5746 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-01-19Add line reversal MWI to wctdm and wctdm24xxp drivers Doug Bailey
Add global and per channel polarity control to the wctdm24xxp driver Add per channel polarity control to the wctdm driver Reported by: alecdavis Patches: dahdidriver-14104.diff2.txt uploaded by dbailey (license ) Tested by: alecdavis git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@5720 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-11-13Make a message about the host cacheline size being unsupported a debug onlyShaun Ruffell
message. The voicebus interface still works whether the cacheline size is supported or not, but the message is confusing to users. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@5303 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-10-28fix a large number of warnings found by sparse, the kernel code sanity ↵Kevin P. Fleming
checking tool. some of these fixes are non-optimal (casting 'unsigned long' to '__user void *'), but are unavoidable in many cases. started from tzafrir's patch, did most of the work myself. (closes issue #13763) Reported by: tzafrir Patches: sparse_fixes_1.diff uploaded by tzafrir (license 46) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@5162 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-09-15Fixed two typos.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4905 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-08-27a bit of attribution cleanupKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4848 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-08-20improve compatibility with 2.6.26 and 2.6.27 kernelsKevin P. Fleming
(closes issue #13253) Reported by: raiden Patches: zap-dev.patch uploaded by smurfix on issue #13277 (license 547) zap-sema.patch uploaded by smurfix on issue #13277 (license 547) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4801 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-08-13import the neon mwi detectionDoug Bailey
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4770 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-08-06last round of license header updates hereKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4721 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-08-03Change all instances of printk in DAHDI to include a priorityRussell Bryant
(closes issue #11504) Reported by: tzafrir Patches: 20080717__issue11504_dahdi_printk_without_priority.diff uploaded by bbryant (license 36) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4685 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-08-03Rework the table of signalling bits for signalling types and hook statesRussell Bryant
in dahdi_rbs_sethook() to a much more readable and less error prone format. In passing, get rid of the dahdi_txsig_t typedef, and fix uses of it throughout the tree. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4679 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-07-29make an initial split of dahdi/kernel.h into userspace- and ↵Kevin P. Fleming
kernelspace-specific parts git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4628 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-07-22from r4429 of zaptel... make battery loss to red alarm translation actually workKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4624 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-07-07the initialization of wc->chans was done using NUM_CARDS in wc->cards, but ↵Kevin P. Fleming
then later wc->cards was (possibly) reduced to the actual number of cards present, so we have to check every possible slot in wc->chans for structures to free git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4563 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-07-07wctdm_initialize expects the channels to already be allocated.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4558 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-07-02fix up the last few drivers for the new single-allocation channel changesKevin P. Fleming
(related to issue #12657) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4521 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-07-02fix remaining drivers broken by pointer type change in 'struct ↵Kevin P. Fleming
dahdi_span'... wctdm24xxp still broken, will fix in a couple of hours (related to issue #12657) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4514 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-06-20merge modular_ec branch, which adds modular echocan support and lots of ↵Kevin P. Fleming
minor fixes and improvements... seems to work properly, except the usecount on the echocan modules never increments above zero, so they are unloadable when they should not be git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4436 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-06-17another batch of fixes for non-hotplug firmware handlingKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4385 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-05-23make wctdm.h a public header fileKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4345 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-05-22and with another fell swoop... 2.4 kernel support is gone tooKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4327 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-05-22fix up all remaining references to zaptel/zapata (except for the ones in ↵Kevin P. Fleming
credits that need to be left alone) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4324 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-05-21replace Zaptel with DAHDI, ZAPTEL with DAHDI, ZAPATA with DAHDIKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4322 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-05-21replace zap_ with dahdi_, ZAP_ with DAHDI_Kevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4321 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-05-21replace ZT_ with DAHDI_, zt_ with dahdi_Kevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4320 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-05-21modules build nowKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4318 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2008-05-21start copying kernel bitsKevin P. Fleming
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4315 a0bf4364-ded3-4de4-8d8a-66a801d63aff