69 Commits

Author SHA1 Message Date
Shaun Ruffell
23ae6bc83e Importing release summary for 2.4.1 release.
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/tags/2.4.1@9818 a0bf4364-ded3-4de4-8d8a-66a801d63aff
v2.4.1
2011-03-03 21:42:32 +00:00
Shaun Ruffell
05019fbbbe Importing files for 2.4.1 release.
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/tags/2.4.1@9817 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-03-03 21:42:24 +00:00
Shaun Ruffell
15dc8eb1a8 Creating tag for the release of dahdi-linux-2.4.1
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/tags/2.4.1@9816 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-03-03 21:41:35 +00:00
Shaun Ruffell
46c3427264 Importing release summary for 2.4.1 release.
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/tags/2.4.1@9806 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-03-03 20:54:29 +00:00
Shaun Ruffell
fd45d2c292 Importing files for 2.4.1 release.
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/tags/2.4.1@9805 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-03-03 20:54:21 +00:00
Shaun Ruffell
bd97911609 Creating tag for the release of dahdi-linux-2.4.1
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/tags/2.4.1@9804 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-03-03 20:53:36 +00:00
Shaun Ruffell
692c6f24cf Importing release summary for 2.4.1 release.
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/tags/2.4.1@9786 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-03-03 20:05:59 +00:00
Shaun Ruffell
77a2531764 Importing files for 2.4.1 release.
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/tags/2.4.1@9785 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-03-03 20:05:53 +00:00
Shaun Ruffell
1b14c0a2be Creating tag for the release of dahdi-linux-2.4.1
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/tags/2.4.1@9784 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-03-03 20:04:41 +00:00
Shaun Ruffell
22645d1267 make_version: Use 'git rev-parse' if only looking for a sha5.
Different versions of git have variability in how the log output looks.
Instead of git log, we can use git rev-parse directly.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9475

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9760 a0bf4364-ded3-4de4-8d8a-66a801d63aff
branched-2.4.1 branched-2.4.1-rc1
2011-02-11 17:52:09 +00:00
Kinsey Moore
b47c3c2e0b make_version: svn and git metadata directory not checked properly.
(closes issue #16143)
Reported by: Max Khon

Signed-off-by: Kinsey Moore <kmoore@digium.com>
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9418

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9759 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-02-11 17:52:04 +00:00
Shaun Ruffell
372e539242 make_version: '[[' -> '[' since it's not a bash script.
'[[' is a bash construct specifically, yet #!/bin/sh is at the top of the
file.

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/

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9408

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9758 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-02-11 17:51:59 +00:00
Shaun Ruffell
a102bf28d1 dahdi: Generate include/dahdi/version.h when building in a git repository.
If building within a git repository search the last log message for a
'git-svn-id'.  If found, the commit has a corresponding svn revision
number and we will use the SVN-xxx-rxxx revision form. Otherwise use the
output of 'git describe --long --always --tags --dirty=M' as the
version.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9396

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9757 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-02-11 17:51:54 +00:00
Shaun Ruffell
1e6c9e8d0f wct4xxp: Do not lock interrupts while loading the VPM firmware.
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>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9752

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9755 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-02-10 16:29:52 +00:00
Shaun Ruffell
02fe6beeb4 wct4xxp: Reduce stack usage in oct612x API.
Reduce the stack usage by replacing the mOCT6100_RETRIEVE_NLP_CONF_DWORD
and mOCT6100_SAVE_NLP_CONF_DWORD macros with functions. Some compilers
do a better job of optimizing the local variables declared in those
macros than others.

For example, with gcc 4.3.0, running

]# make stackcheck | grep Oct6100 | head -n 20 | sed -e 's/^0\S* //g' | uniq

Before:
Oct6100ApiWriteVqeNlpMemory [wct4xxp]:  1112
Oct6100ApiInvalidateChanPlayoutStructs [wct4xxp]:520
Oct6100ApiSetChannelLevelControl [wct4xxp]:     392
Oct6100ApiBridgeEventRemove [wct4xxp]:  344
Oct6100ApiDebugChannelOpen [wct4xxp]:   312
Oct6100ApiWriteVqeAfMemory [wct4xxp]:   296
Oct6100ApiSetChannelTailConfiguration [wct4xxp]:264
Oct6100ApiRandomMemoryWrite [wct4xxp]:  248
Oct6100ApiTransferToneEvents [wct4xxp]: 248
Oct6100ApiModifyChannelStructs [wct4xxp]:       232

After:
Oct6100ApiBridgeEventRemove [wct4xxp]:  344
Oct6100ApiDebugChannelOpen [wct4xxp]:   312
Oct6100ApiRandomMemoryWrite [wct4xxp]:  248
Oct6100ApiTransferToneEvents [wct4xxp]: 248
Oct6100ApiInvalidateChanPlayoutStructs [wct4xxp]:248
Oct6100ApiModifyChannelStructs [wct4xxp]:       232
Oct6100ApiBridgeRemoveParticipantFromChannel [wct4xxp]:216
Oct6100ApiWriteVqeNlpMemory [wct4xxp]:  200
Oct6100ApiInitChannels [wct4xxp]:               168
Oct6100ApiProgramNLP [wct4xxp]:         168

Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9751

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9754 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-02-10 16:29:47 +00:00
Shaun Ruffell
5c039eea69 wct4xxp: Reduce the memory footprint of the hardware echocanceler.
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>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9750

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9753 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-02-10 16:29:42 +00:00
Shaun Ruffell
1fdb766204 dahdi: Add '#include <linux/kobject.h>' in dahdi/kernel.h
linux/kobject.h was removed from linux/fs.h in upstream commit 57cc721.
Add it back in in order to pick up the linux/kref.h include.

Reported-by: Raoul Bönisch <jkl345@alice-dsl.net>
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9697

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9746 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-02-09 18:30:42 +00:00
Tzafrir Cohen
025cacfe11 live_dahdi: Fix regression from r9508
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9532

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9745 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-02-09 12:45:39 +00:00
Shaun Ruffell
3940da78a4 syncing svnmerge-integrated.
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9726 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-31 18:09:40 +00:00
Jaco Kroon
a9d7147a60 dahdi: Experimentally remove dependency on the Big Kernel Lock.
With the release of Linux 2.6.37, the Big Kernel Lock is now a compile
time option.  This change adds a mutex around the one place in the code
that we already knew was dependent on the lock_kernel/unlock_kernel
calls for serialization and drops the other calls to
lock_kernel/unlock_kernel if CONFIG_BKL is not defined.

This is *mostly* the dahdi-no-bkl.patch with a few minor whitespace
changes, the global_dialparmslock made static, and a warning added to
let people know they are running an experimental configuration.

(issue #18604)
Reported by: jkroon
Patches:
      dahdi-no-bkl.patch uploaded by jkroon (license 714)

Signed-off-by: Jaco Kroon <jaco@uls.co.za>
Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9721

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9725 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-31 17:59:01 +00:00
Shaun Ruffell
97130b1841 wctdm24xxp: Remove code for unsupported modules.
The VPM100 and S100M modules are no longer supported. Analog cards supported
by the wctdm24xxp are still compatible with the S110 and VPMADT032 modules.
DAHDI-302

Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9720

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9724 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-31 17:58:56 +00:00
Shaun Ruffell
439f50e841 dahdi: Add '+' on KMAKE definition to enable parallel make.
Now 'make -j 5' works the way it's supposed to on multi core machines.
On one test machine build times went from ~33 seconds to ~11 seconds.

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/

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9409

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9723 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-31 17:58:50 +00:00
Matthew Fredrickson
e5ec2cd816 Fix for bugs in timing selection when B410P card is not the first configured card in system.
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9702 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-27 21:09:15 +00:00
Shaun Ruffell
4c53f89dcd Updating the svnmerge-integrated information.
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9696 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:35:56 +00:00
Shaun Ruffell
7c1c41e7cb wct4xxp: Perform an extended reset on PCI-Express cards by default.
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>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9635

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9695 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:33:17 +00:00
Tzafrir Cohen
55c804f649 README: clarify required kernel configuration
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9619

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9694 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:33:09 +00:00
Shaun Ruffell
05f9768466 dahdi: Add error if CONFIG_BKL is not defined
Might help when someone wonders why they are now getting errors about
"lock_kernel" being undefined.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9592

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9693 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:33:02 +00:00
Shaun Ruffell
c172ee3bb0 wcte12xp: Remove unused functions from t1_span_ops.
'open' and 'close' were already empty.  't1xxp_shutdown' only cleared
DAHDI_FLAGBIT_RUNNING which is already done in dahdi-base.c after calling
shutdown.

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9318

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9692 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:32:55 +00:00
Shaun Ruffell
bb3f3c6414 "struct pci_device_id[]" -> "DEFINE_PCI_DEVICE_TABLE"
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>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9584

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9691 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:32:45 +00:00
Shaun Ruffell
d28f297d51 dahdi: If mutexes are not available use semaphores instead.
Mutexes were added in 2.6.16.  This will allow future changes to use the
mutex API without breaking on pre 2.6.16 kernels.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9579

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9690 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:32:31 +00:00
Shaun Ruffell
dc653f4d60 wcb4xxp: HDLC packets do not pass over D-channel.
dahdi/wcb4xxp driver used with Digium Wildcard B410 quad-BRI PCI card
unable to communicate with another ISDN device (ISDN phone, another port
of B410). It appears that B-channels are capable to transport data, but
D-channel is not.

Debug output added into the driver shows that packets are transmitted to
the D-channel, but no packets are received. Further investigation shows
that no interrupts received from Rx FIFO associated with D-channel,
although packets are delivered to the FIFO. I've found that problem is
in improper usage of chan->chanpos while indexing the fifo index
(bspan->fifos): chanpos starts from 1 and fifos starts from 0.
Therefore, garbage read instead of fifo number.

(closes issue #14834)
Reported by: vvv
Patches:
      dahdi-linux-complete-2.2.0-rc1.patch uploaded by vvv (license 741)

Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9555

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9689 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:32:23 +00:00
Shaun Ruffell
50d6f6b2b2 wcte12xp, wctdm24xxp: Do not call pci_set_drvdata after device initialization.
Instead of using pci_set_drvdata embed the 'struct voicebus_operations'
directly in the context so we can use container_of to find the context.

This resolves a problem where the 'remove_one' callback gets an invalid
pointer to 'struct t1' if the VPMADT032 is in the middle of a reload
when the module is unloading.  DAHDI-783.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9554

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9688 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:32:14 +00:00
Shaun Ruffell
a9eb9d6e0a wctdm24xxp, wcte12xp: Disable PCI read-line multiple command.
There are some platforms where the read-line multiple transaction causes
packets to be dropped in the voicebus pipeline.  The only observable
behavior is that packets just go "missing" in the pipeline.  This also
only appears to affect PCI cards.

A typical 'symptom' of this problem is you may see IRQ misses increasing
without any corresponding "bumps" in latency in the kernel message log.
Normally, IRQ misses are correlated to latency bumps since that is an
indication that the host was not able to service the card interrupt in a
timely fashion. DAHDI-510 DAHDI-774

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9542

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9687 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:32:07 +00:00
Shaun Ruffell
ee507478e3 wct4xxp: Close a memory leak in the VPM450 error path.
Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>
Acked-By: Russ Meyerriecks <rmeyerriecks@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9539

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9686 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:31:59 +00:00
Shaun Ruffell
3a599b52d5 wctdm24xxp, wcte12xp: Lock interrupts when recovering from an underrun.
This reduces the chance that another interrupt will interfere with the
recovery process.  Otherwise it is possible that the hardware advances
past the position that we think it is currently at.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>
Acked-By: Russ Meyerriecks <rmeyerriecks@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9535

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9685 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:31:51 +00:00
Shaun Ruffell
0fed8904ec wctdm24xxp, wcte12xp: Add more descriptive message on a failed reset.
Reading 0xffffffff from the registers is a different error than just not
coming out of reset.  Add a little extra debugging information.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>
Acked-By: Russ Meyerriecks <rmeyerriecks@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9534

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9684 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:31:43 +00:00
Shaun Ruffell
a209d1b433 wcte12xp: Use interruptible waits to decrease impact on load average.
The wcte12xp does all the checking for alarm in a user space workqueue.
Most of this time is spent sleeping waiting for reads from the framer to
complete.  Tasks in uninterruptible sleeps are added to running tasks
for the purposes of calculating load average. This change makes the
sleeps interruptible so as to not affect the load average as much.

For example, the following command will load and configure the driver and
then print the load average every 10 seconds.

]# modprobe wcte12xp && dahdi_cfg && ((x=12)); while [[ $x -gt 0 ]]; do cat
/proc/loadavg; sleep 10; let x=$x-1; done

With this change:
0.29 0.10 0.02 1/101 29945
0.24 0.10 0.02 1/101 29967
0.20 0.09 0.02 1/101 30019
0.17 0.09 0.02 1/101 30041
0.15 0.09 0.02 1/101 30062
0.12 0.08 0.02 1/101 30085
0.10 0.08 0.02 1/101 30107
0.09 0.08 0.02 1/101 30129
0.07 0.08 0.02 1/101 30151
0.14 0.09 0.02 1/101 30173
0.12 0.09 0.02 1/101 30195
0.10 0.08 0.02 1/101 30217
(and I've seen it get down to 0.0)

Before this change:
0.57 0.22 0.07 1/101 31920
0.48 0.21 0.07 1/101 31942
0.48 0.22 0.07 1/101 31964
0.48 0.23 0.08 1/101 31986
0.41 0.22 0.07 1/101 32008
0.42 0.23 0.08 1/101 32030
0.43 0.24 0.08 1/101 32054
0.45 0.25 0.09 1/101 32076
0.45 0.25 0.09 1/101 32098
0.46 0.26 0.10 1/101 32120
0.47 0.27 0.10 1/101 32172
0.39 0.26 0.10 1/101 32194

(closes issue #18142)
Reported by: foxfire
Tested by: foxfire

Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9512

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9683 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:31:35 +00:00
Shaun Ruffell
a9d55bb3d7 dahdi: Prevent unloadable module on failed open.
If chan->span->ops->open() fails then the reference count of the module
implementing the board driver will not be decremented.  The result is a
module that would always be "in use" and unloadable.

This change makes sure to release that reference when open failed.

(closes issue #18422)
Reported by: avarvit

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Angelos Varvitsiotis <avarvit@admin.grnet.gr>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9510

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9682 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:31:26 +00:00
Tzafrir Cohen
c23a4dcab1 live_dahdi: fix usage of xpp.conf
Link live/usr/share/dahdi/xpp.conf from live/etc/dahdi/xpp.conf in
'config'. This makes the 'live' xpp.conf used rather than the global
xpp.conf .

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9508

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9681 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:31:18 +00:00
Tzafrir Cohen
abd2c1c21e xpd_pri: Remove pointless hooksig span op
If the span reports that it supports hooksig, DAHDI may fail to use RBS.
So remove a call to that stub function.

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9506

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9680 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:31:11 +00:00
Tzafrir Cohen
3ae68b9ca6 xpd_pri: ignore DAHDI_VMWI and DAHDIVMWI_CONFIG
This fixes an annoying, though harmless issue: if Asterisk decides to send
voicemail messages to a channel (CAS, configured as FXS), We can't do
anything useful with them. So ignore them to avoid scary-looking messages
(from report_bad_ioctl()).

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9505

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9679 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:31:03 +00:00
Shaun Ruffell
740312ea26 wctdm24xxp, wcte12xp: Close a few potential resource assignment leaks.
There were some routes through the failure paths in __voicebus_init() where a
registered memory region was not subsequently released.  This change closes
those paths.

The result would be on subsequent loads of the driver after hitting the
failure condition you would see "IO Registers are in use by another module."
in dmesg.

request_mem_region/release_mem_region should most likely be converted to
devm_request_region and devm_release_region introduced in 2.6.20
(commit 9ac7849e35f705830f7b016ff272b0ff1f7ff759) which was introduced for
reasons just such as this.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9503

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9678 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:30:55 +00:00
Shaun Ruffell
88d8b68370 live_dahdi: only check for TOOLS_DIR when used
Only check that TOOLD_DIR is valid when it is actually needed (configure,
install, config). This allows not checking for it with *load on a
rsync-ed copy.

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9479

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9677 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:30:47 +00:00
Shaun Ruffell
26fdcdb51a Remove mutex emulation
Using semaphores as mutexes was removed from the kernel in 4882720b267b.
Just use straight semaphores now.  'DECLARE_MUTEX()' -> 'DEFINE_SEMAPHORE()'
and 'init_MUTEX()' -> 'sema_init()'.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
LKML-Reference: <20100907125057.562399240@linutronix.de>
Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9464

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9676 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:30:39 +00:00
Shaun Ruffell
aeb716625a wctdm24xxp: Detect FXS modules based on the 3210 SLIC.
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>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9456

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9675 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:30:25 +00:00
Shaun Ruffell
c43fe554a9 wctdm24xxp: Leave FXO (DAA) always in full-wave ring detect mode.
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>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9441

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9674 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:30:13 +00:00
Shaun Ruffell
ad83ff1f21 dahdi: '-o' -> '--no-same-owner' in drivers/dahdi/firmware/Makefile
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>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9434

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9673 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:30:03 +00:00
Shaun Ruffell
ccc84c7095 wcte12xp, wctdm24xxp: Do not rely on polling main memory.
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>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9397

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9672 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:29:56 +00:00
Shaun Ruffell
81abcab4d4 wct4xxp: Drop usage of 'volatile' qualifier.
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>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9400

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9671 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:29:48 +00:00
Shaun Ruffell
e38cbd0869 dahdi: Make CONFIG_DAHDI_PPP off by default.
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>

Origin: http://svnview.digium.com/svn/dahdi?view=rev&rev=9392

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.4@9670 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-21 05:29:40 +00:00