summaryrefslogtreecommitdiff
path: root/drivers/dahdi/wct4xxp
AgeCommit message (Collapse)Author
2011-04-15dahdi: Move irq/irqmisses from dahdi_span into dahdi_device.Shaun Ruffell
These fields do not have anything to do with the span. Signed-off-by: Shaun Ruffell <sruffell@digium.com>
2011-04-15dahdi: register/unregister devices as opposed to individual spans.Shaun Ruffell
Increasingly, spans are implemented by devices that support more than a single span. Introduce a 'struct dahdi_device' object which explicitly contains multiple spans. This will also allow a cleaner representation of spans and devices in sysfs since order of arrival will not determine the layout of the devices. This also gives the core of dahdi a way to know the relationship between spans. Signed-off-by: Shaun Ruffell <sruffell@digium.com>
2011-04-04wctdm24xxp, wcte12xp, wct4xxp, wcb4xxp, wctdm: Do not support suspend.Shaun Ruffell
These drivers (all DAHDI drivers) should explicitly block suspend if they are loaded. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Michael Spiceland <mspiceland@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9882 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-04-04wct4xxp: Add shutdown handler for kexec.Shaun Ruffell
Makes the driver a little more kexec friendly when sharing an interrupt line with another device. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Michael Spiceland <mspiceland@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9881 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-02-10wct4xxp: Do not lock interrupts while loading the VPM firmware.Shaun Ruffell
Since the oct6100 API consumes less stack there is no longer a danger of overflowing our stack during load. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9752 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-02-10wct4xxp: Reduce the memory footprint of the hardware echocanceler.Shaun Ruffell
This saves ~300K of kernel memory for each quad or dual span VPM. Due to the fact that this change disables caching of the NLP words (among other things), the time to disable the echocans appears to have increased by ~1ms. Before this change: ======================================================================= 0) ! 356.498 us | vpm450m_setecmode(); <--- disable 0) ! 387.762 us | vpm450m_setecmode(); <--- enable 0) ! 429.839 us | vpm450m_setecmode(); <--- disable ]# echo 1 > /proc/sys/vm/drop_caches && free -k total used free shared buffers cached Mem: 2005352 228368 1776984 0 132 5540 -/+ buffers/cache: 222696 1782656 Swap: 983036 0 983036 After this change: ======================================================================= 0) ! 1109.515 us | vpm450m_setecmode(); <--- disable 0) ! 339.017 us | vpm450m_setecmode(); <--- enable 0) ! 1431.460 us | vpm450m_setecmode(); <--- disable ]# echo 1 > /proc/sys/vm/drop_caches && free -k total used free shared buffers cached Mem: 2005352 228080 1777272 0 112 5484 -/+ buffers/cache: 222484 1782868 Swap: 983036 0 983036 Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9750 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-20wct4xxp: Do not place _t4_remove_one in module exit section.Shaun Ruffell
_t4_remove_one is now used during module initialization so it should not be placed in the exit section of the module. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9650 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-17wct4xxp: Check the return value of dahdi_register call.Shaun Ruffell
If dahdi_register fails, we would like the error to propagate to the user who ran modprobe. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9636 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-17wct4xxp: Perform an extended reset on PCI-Express cards by default.Shaun Ruffell
Extended reset is needed primarily with the PCI express version of the dual and quad-span cards. Enable it by default for those cards and allow it to be forced on or off globally for the driver as a compile time option. The options to force it should be able to come out if there aren't any further reports that the compile time option needs to be set. DAHDI-773 Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9635 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03'dahdi_copy_string()' -> 'strlcpy()'Shaun Ruffell
There is already a safe string copying function in all the kernels DAHDI currently supports. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9585 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03"struct pci_device_id[]" -> "DEFINE_PCI_DEVICE_TABLE"Shaun Ruffell
2.6.25 added the DEFINE_PCI_DEVICE_TABLE macro to make sure that the pci_device_id tables are put into the correct section in the binary. Convert all the places where the tables were defined to use them. This is linux-2.6 commit where the change went in along with the rationale: 90a1ba0c5e39eeea278f263c28ae02166c5911c8 Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9584 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03Update copyright on changed files since 2011-01-01.Shaun Ruffell
Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9560 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03wct4xxp: Hold the reglock longer when checking error counters.Shaun Ruffell
This is a very slight performance improvement. Eliminating the need to save the IRQ flags is probably more of a boost than grabbing and releasing the reglock. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9558 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-15wct4xxp: Close a memory leak in the VPM450 error path.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@9539 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-09dahdi-base, dahdi_echocan_*, wcb4xxp, wct4xxp, wctdm24xxp, wcte12xp, kernel: ↵Kinsey Moore
Allow name of EC factory to vary based on channel Changed the echocan factory name to a function (get_name) called to get the name. This allows a factory to return a different name when being called in reference to a channel such as in the case of hardware echo cancellers. To further accommodate this change for HWEC, a new echocan_name function was added to the span ops struct and is used in hwec_factory in dahdi-base for all cards that support hardware echo cancellation. Signed-off-by: Kinsey Moore <kmoore@digium.com> Acked-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9524 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-09dahdi-base, kernel, dahdi_echocan_*, wcb4xxp, wct4xxp, wctdm24xxp, wcte12xp: ↵Kinsey Moore
Remove name field from echocan ops This field was redundant and was only used in places where the factory's name could be used. Signed-off-by: Kinsey Moore <kmoore@digium.com> Acked-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9523 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-08dahdi: Fixed loopup/loopdown signalsRuss Meyerriecks
The loopup/loopdown T1 maintenance feature in the single through quad-span drivers now function properly, according to AT&T TR54016, by sending a full rate pattern down the line. T1.403 ESF/Data Link patterns are not supported currently. Also grouped all the maint reset register clears under a single irq lock to crank the performance up past 11. Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> Acked-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9516 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-08dahdi: Removing loopstop maint functionRuss Meyerriecks
DAHDI_MAINT_LOOPSTOP is being removed due to the redundancy with DAHDI_MAINT_NONE. Also removing some timing logic, as amount of time a loopup or loopdown signal is held on the line, is now defined in userspace with dahdi_maint. Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> Acked-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9515 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-12-08dahdi: Clean up an unused waitqueueRuss Meyerriecks
The dahdi_span->maintq wait queue was very old and not being used so it has been removed. Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com> Acked-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@9514 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-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-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-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-14wct4xxp: Put two DMA messages behind debug flag.Shaun Ruffell
Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9320 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-09-08wct4xxp: Update span-local struct with timing infoRuss Meyerriecks
dahdi_tool was incorrectly reporting all spans to be in local timing mode. This is because the driver tracks which span it's timing syncs to, within the card local struct "wc". We have to manually go through and copy timing updates to the span local structs because this is what dahdi_tool actually reads. dahdi-526 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9312 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-08-27wct4xxp: Moving the transmit short detection behind debug module param.Shaun Ruffell
This needs some more testing before it's on by default. If the card is otherwise functioning, these messages may be confusing to the user. If the card is not functioning, the driver can be reloaded with debug to check for this condition. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9205 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-08-27wct4xxp: Removed transmit line open fault detectionShaun Ruffell
The transmit line open detection was pretty weak in that it trips upon receiving 32 consecutive zeroes. We were getting false positives from looping and other miscellaneous functions. Removing this feature, but leaving the transmit line short detector as it actually detects physical shorts. From: Russ Meyerriecks <rmeyerriecks@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9204 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-08-06wct4xxp: minor checkpatch changesRuss Meyerriecks
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9105 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-08-06wct4xxp: Added card level timing information in sysfsRuss Meyerriecks
For kernels >= 2.6.18, each individual card has it's local timing hung off the pci device in the sysfs tree. dahdi-626 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9102 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-08-06wct4xxp: module param "extendedreset" now a compile optionRuss Meyerriecks
Due to the very small number of affected customers we have removed the module parameter "extendedreset" in favor of a compile time option "CONFIG_EXTENDED_RESET". dahdi-673 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9098 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-29wct4xxp, wcte12xp: restrict signaling and line combinations to what actually ↵Kinsey Moore
works git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9056 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-29wct4xxp, wcte12xp: remove loobpack parameter, functionality provided by ↵Kinsey Moore
dahdi_maint git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9051 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-29wct4xxp: increase consistency and decrease verbosity of kernel loggingKinsey Moore
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9049 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-28wct4xxp: Several minor changes to make sparse/checkpatch.pl happy.Shaun Ruffell
Make setup_chunks static, eliminate a dynamic array in the interrupt handler, don't cast away a memory region specifier, and don't initialize statics to 0. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9042 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-27wct4xxp: Enabled network facing looping for E1Russ Meyerriecks
Added the abililty to loop the line back towards the network for E1 modes. This supports both network loop and network payload loop. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9019 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-27wct4xxp: Fixed error injection bugRuss Meyerriecks
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9016 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-26wct4xxp: Error counter injection for E1 modeRuss Meyerriecks
Added support for error counter injection for E1 mode git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9013 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-07-22Make sure we check max_latency to see if it's greater than the minimum ↵Matthew Fredrickson
required latency for the board in question. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8968 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-14Make noburst parameter override burst flag.Matthew Fredrickson
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8935 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-07-02Add support for max_latency module parameter in wct4xxpMatthew Fredrickson
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8849 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-06-30Fix for circumstances where the framer needs extra help to reset itself.Matthew Fredrickson
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8841 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2010-06-24Fix trailing whitespace and make last change more readible. (sruffell ↵Michael Spiceland
suggestion) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8805 a0bf4364-ded3-4de4-8d8a-66a801d63aff