summaryrefslogtreecommitdiff
path: root/drivers/dahdi/wctdm24xxp
AgeCommit message (Collapse)Author
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-08voicebus: Remove framesize, buffer_cache, and cache_line members from struct.Shaun Ruffell
Framesize is the same on all the clients, so it can be removed from the 'struct voicebus' (and changed back again if needed). Since the framesize is the same, each board doesn't need it's own buffer_cache, and cache_line is only used during startup and can be read directly from pci configuration space, so we don't need to keep it around in our context. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7779 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-01-08voicebus: Make 'struct voicebus' embeddable by the client driver strutures.Shaun Ruffell
In addition to making 'struct voicebus' embeddable, also add an 'voicebus_operations' structure. This was done so that a) remove the "context" pointer from struct voicebus, and also to show that handle_recieve/transmit are to be managed together. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7778 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-11-19wctdm24xxp: Honor the alawoverride parameter when using the VPMADT032.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7601 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-11-12voicebus: Use dev_xxx macro when printing vpm messages.Shaun Ruffell
We also do not need the unused context member of the vpmadt032 structure. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7569 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-11-12wctdm24xxp, wcte12xp: We no longer have any DTMF events to check for.Shaun Ruffell
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7566 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-11-12voicebus: Fix race when enabling/disabling hardware echocan.Shaun Ruffell
This closes a race condition where it was possible for the driver to believe it has enabled the VPMADT032 when in fact, it really has not. This fixes a regression introduced in dahdi-linux 2.2.0. (issue #15724) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7565 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-11-07voicebus: Add optional sysfs entry for reading a boards current latency.Shaun Ruffell
This is off by default since it hasn't been tested on a full range of kernels, but can be useful for quickly seeing differences for latencies on different cards installed in the system. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7522 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-11-07voicebus, wctdm24xxp, wcte12xp: Move a print out of the interrupt handler.Shaun Ruffell
This can be handled just as well in process context and printing to a serial console from the interrupt handler has the potential to cause long latencies. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7521 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-11-07wctdm24xxp: Lock latency when loadingShaun Ruffell
We no longer need to retry board initialization if the latency would have increased during the initialization. DAHDI-278 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7520 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-10-12headers: sched.h was also removed from interrupts.hShaun Ruffell
Commit d43c36 made it necessary to add sched.h to more of the board drivers. http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d43c36 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7392 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-10-07Fix a logic error in the companding check. Duh....Matthew Fredrickson
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7348 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-10-02Implement API update to do per-channel companding selection for VPMADT032Matthew Fredrickson
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7309 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2009-09-30Update echocan API so it only uses channel offset in free routineMatthew Fredrickson
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@7284 a0bf4364-ded3-4de4-8d8a-66a801d63aff
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-11wctdm24xxp: Remove unused members related to hardware DTMF detection.Shaun Ruffell
Not used anymore, so they are gone. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6952 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-28Allow EXTRA_CFLAGS to propagate to builds in the subfolders for wct4xxp,Shaun Ruffell
wctdm24xxp, wctc4xxp, wcb4xxp, and wcte12xp. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@5856 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-11-05Check the return value of the down_interruptible call in order to quiet aShaun Ruffell
warning. This semaphore does not protect any host data structures, but only accesses to the VPMADT032 module. The worse thing that could happen is that the internal state of the VPM module is corrupted, and then would only happen on module loading because otherwise access because that is the only time this function is called in the context of a user process. In this case, the module would need to be reloaded again anyway. (Closes issue #13742) Reported by smurfix git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@5236 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