[svn-commits] sruffell: tag linux/2.5.0 r10090 - in /linux/tags/2.5.0: .version ChangeLog
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Fri Aug 5 13:00:55 CDT 2011
Author: sruffell
Date: Fri Aug 5 13:00:51 2011
New Revision: 10090
URL: http://svnview.digium.com/svn/dahdi?view=rev&rev=10090
Log:
Importing files for 2.5.0 release.
Added:
linux/tags/2.5.0/.version (with props)
linux/tags/2.5.0/ChangeLog (with props)
Added: linux/tags/2.5.0/.version
URL: http://svnview.digium.com/svn/dahdi/linux/tags/2.5.0/.version?view=auto&rev=10090
==============================================================================
--- linux/tags/2.5.0/.version (added)
+++ linux/tags/2.5.0/.version Fri Aug 5 13:00:51 2011
@@ -1,0 +1,1 @@
+2.5.0
Propchange: linux/tags/2.5.0/.version
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: linux/tags/2.5.0/.version
------------------------------------------------------------------------------
svn:keywords = none
Propchange: linux/tags/2.5.0/.version
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: linux/tags/2.5.0/ChangeLog
URL: http://svnview.digium.com/svn/dahdi/linux/tags/2.5.0/ChangeLog?view=auto&rev=10090
==============================================================================
--- linux/tags/2.5.0/ChangeLog (added)
+++ linux/tags/2.5.0/ChangeLog Fri Aug 5 13:00:51 2011
@@ -1,0 +1,4794 @@
+2011-08-05 Shaun Ruffell <sruffell at digium.com>
+
+ * dahdi-linux 2.5.0 released.
+
+2011-07-26 20:19 +0000 [r10082] Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wctc4xxp/base.c: wctc4xxp: Cleanup in-flight
+ commands when halting due to hardware error. On one system I was
+ seeing the board reset in the middle of a transaction. Any
+ commands that were on the response list when this would happen
+ would never be completed and the process would then be stuck in
+ an uninterruptible sleep. This change also prevents the driver
+ from sleeping in timer context, which would result in a kernel
+ panic. This change at least lets an error message propogate back
+ to the user. DAHDI-880 Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+2011-07-22 17:56 +0000 [r10079] Russ Meyerriecks <rmeyerreicks at digium.com>
+
+ * drivers/dahdi/wcb4xxp/base.c: wcb4xxp: Prevent null pointer
+ dereference on spanconfig In the rare case where spanconfig is
+ called while there is pending data on the hdlc channel, the
+ hdlc_getbuf interrupt could try to read from the hdlc buffer
+ before the channel was fully setup. This could potentially result
+ in a null pointer dereference. This condition has existed since
+ the creation of the wcb4xxp driver. Signed-off-by: Russ
+ Meyerriecks <rmeyerriecks at digium.com> Signed-off-by: Shaun
+ Ruffell <sruffell at digium.com>
+
+2011-07-21 Shaun Ruffell <sruffell at digium.com>
+
+ * dahdi-linux version 2.5.0-rc2 released.
+
+2011-07-21 16:26 +0000 [r10066-10070] Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/dahdi-base.c: dahdi: Drivers that do not support
+ hwec should not report hwec is available. When attaching software
+ echocans to a channel, if there is a hardware echocan available
+ always give preference to them. Revision 9995 "dahdi: Always
+ attach hwec to a channel if available" had an error where if a
+ driver did not even support an option of hardware echocan,
+ dahdi-base would take that to mean there always was a hardware
+ echocan available on the channel. DAHLIN-246 Reported-by: Michael
+ L. Young Signed-off-by: Shaun Ruffell <sruffell at digium.com>
+ Acked-by: Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/voicebus/voicebus.c: wctdm24xxp, wcte12xp: Run the
+ ISR with interrupts disabled. Revision 9886, "wcte12xp: Use the
+ in-hardirq versions of dahdi_receive/dahdi_transmit", changed the
+ call into dahdi_receive and dahdi_transmit to use versions that
+ assume local interrupts are already disabled. Not all versions of
+ the kernel run interrupt service routines with all interrupts
+ disabled and therefore it was possible to lock up a CPU with a
+ recursive grab of the chan_lock. When LOCKDEP was enabled (on
+ debug kernels) interrupt handlers were run atomically so this
+ problem would only occur on pre 2.6.35 kernels that did not have
+ lockdep enabled. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+2011-07-20 21:32 +0000 [r10063-10064] Russ Meyerriecks <rmeyerreicks at digium.com>
+
+ * drivers/dahdi/wcte12xp/base.c: wcte12xp: Fix bug when not
+ recognizing loopup codes The wcte12xp wasn't recognizing
+ loopup/loopdown signals. The debounce was so long that it was
+ preventing the loopup/loopdown signals from being registered
+ properly. Removed the debounce entirely as it was unnecessary to
+ the operation. Signed-off-by: Russ Meyerriecks
+ <rmeyerriecks at digium.com> Acked-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/wct4xxp/base.c: wct4xxp: Fixed a bug where it sent
+ loopdown signals forever The wct4xxp driver was resetting it's
+ maint state to NONE prematurely. Signed-off-by: Russ Meyerriecks
+ <rmeyerriecks at digium.com> Acked-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+2011-07-20 17:24 +0000 [r10060-10061] Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wct4xxp/base.c: wct4xxp: Fix compilation when
+ VPM_SUPPORT is not defined. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/oct612x/include/oct6100api/oct6100_channel_inst.h:
+ oct612x: Increase the size of some of the instance variables.
+ Revision 9750 "wct4xxp: Reduce the memory footprint of the
+ hardware echocanceler" reduced the number of bits used to store
+ some structure members. Some of the new field lengths were unable
+ to store all the possible values the API as used assigned to the
+ fields, resulting in channels never entering power down mode when
+ they were disabled like they were previously. The change for
+ byEchoOperationMode was found in testing the operation of the
+ VPMOCT032 which currently uses the same code. The others were
+ done via a review of the API doc. This change represents
+ negligable risk and contains no logic changes. It only increases
+ the memory footprint of the API instance in the kernel.
+ Signed-off-by: Doug Bailey <dbailey at digium.com> Acked-by: Shaun
+ Ruffell <sruffell at digium.com> Acked-by: Tzafrir Cohen
+ <tzafrir.cohen at xorcom.com>
+
+2011-07-20 16:50 +0000 [r10050-10058] Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * README: README: KVERS, KSRC in live.conf Signed-off-by: Tzafrir
+ Cohen <tzafrir.cohen at xorcom.com>
+
+ * build_tools/live_dahdi: live_dahdi: symlink_ast live_dahdi: Add a
+ new command: symlink_ast, to make the system's
+ /etc/asterisk/dahdi-channels.conf a symlink to the one generated
+ by 'reload' / 'genconf'. If the system dahdi-channels.conf is a
+ generated one and has not edited, there's no real harm with
+ running this. Signed-off-by: Tzafrir Cohen
+ <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/dahdi-base.c: get registration_mutex at free_pseudo
+ Make sure that the call to dahdi_chan_unreg() in free_pseudo() is
+ protected by the registration_mutex, like the other calls to that
+ function. Signed-off-by: Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+ Acked-By: Oron Peled <oron.peled at xorcom.com> Acked-by: Shaun
+ Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/xpp/xbus-core.c: xpp: increase command queue lenge
+ to 1000 Required by CAS in latest (2.5) DAHDI versions.
+ Signed-off-by: Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/xpp/xbus-core.h: xpp: make quirk bit flags unsigned
+ This avoids a nag about a meaningless single-bit signed int.
+ Signed-off-by: Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/xpp/card_pri.c: xpp: PRI_timing_priority can be
+ static. Signed-off-by: Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/xpp/xframe_queue.c: xpp: rate limit queue overflow
+ messages If the CPU becomes overly busy, merely printing the
+ "Overflow in the recieve_queue" messages becomes CPU-intensive on
+ its own right. Signed-off-by: Tzafrir Cohen
+ <tzafrir.cohen at xorcom.com>
+
+ * build_tools/live_dahdi: live_dahdi: xpp_fxloader: use live
+ xpp.conf xpp_fxloader also reads /etc/dahdi/xpp.conf in one
+ specific case. Make it use the live copy.
+
+ * build_tools/live_dahdi: live_dahdi: no need to create asterisk at
+ genconf /etc/asterisk already gets generated at config. No need
+ to re-create it at genconf time. Signed-off-by: Tzafrir Cohen
+ <tzafrir.cohen at xorcom.com>
+
+2011-07-18 23:32 +0000 [r10047] Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wcte12xp/base.c: wcte12xp: Close a potential race
+ on driver unload. The shutdown logic requires that all CPUs see
+ that the INITIALIZED bit has been cleared. Otherwise it may be
+ possible for the workqueue to run after the hardware resources
+ have been released. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com> Acked-by: Russ Meyerriecks
+ <rmeyerriecks at digium.com>
+
+2011-07-12 18:15 +0000 [r10036-10038] Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/xpp/firmwares/Makefile: xpp: install Octasic
+ frmware if it's there If the OCT6104E-256D.ima Octasic firmware
+ was downloaded to the build directory, install it over with the
+ rest of the firmware files. Signed-off-by: Tzafrir Cohen
+ <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/xpp/xpp_dahdi.c: xpp: Demote notices for HWEC
+ create/free to debug Signed-off-by: Tzafrir Cohen
+ <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/dahdi-base.c: dahdi: Add dynamic dahdi parameter
+ hwec_overrides_swec. If set to true (default) a HWEC, if
+ available on the channel, takes priority over any software
+ echocan configured in /etc/dahdi/system.conf. This has
+ historically been the default behavior in all released versions
+ of DAHDI that support module echocans. Otherwise,
+ hwec_overrides_swec is set to false, HWEC is chosen only via the
+ "echocanceller=hwec" directive. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com> Signed-off-By: Tzafrir Cohen
+ <tzafrir.cohen at xorcom.com> Acked-By: Oron Peled
+ <oron.peled at xorcom.com>
+
+2011-07-07 13:43 +0000 [r10028] Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * build_tools/live_dahdi: live_dahdi: create asterisk in the live
+ tree Make sure you have etc/asterisk in the live tree before
+ generating configuration. Signed-off-by: Tzafrir Cohen
+ <tzafrir.cohen at xorcom.com>
+
+2011-07-05 17:23 +0000 [r10024] Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c,
+ drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c:
+ oct612x: Eliminate some compiler warnings. Eliminate "large
+ integer implicitly truncated to unsigned type" warnings from
+ r10010. Signed-off-by: Shaun Ruffell <sruffell at digium.com>
+ Acked-by: Doug Bailey <dbailey at digium.com> Acked-by: Tzafrir
+ Cohen <tzafrir.cohen at xorcom.com>
+
+2011-07-04 14:05 +0000 [r10019-10022] Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/xpp/card_fxs.c: xpp: xpd_fxs: ring_trapez parameter
+ This adds module parameter 'ring_trapez'. When set, the wave form
+ of the ring tone is set to be a trapezoid, rather than sine. Thus
+ making the ring stronger. This is a boolean parameter of the
+ module xpd_fxs. Takes effect at the beginning of the next ring.
+ Signed-off-by: Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/xpp/card_pri.c, drivers/dahdi/xpp/card_bri.c: A
+ number of cases of testing for unsigned int < 0 Signed-off-by:
+ Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/xpp/card_bri.c, drivers/dahdi/xpp/card_echo.c: xpp:
+ Eliminate "set but unused" compiler warnings. gcc 4.6 complains
+ about variables that are assigned values but then never used.
+ Signed-off-by: Shaun Ruffell <sruffell at digium.com> Acked-By:
+ Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/xpp/xbus-core.c,
+ drivers/dahdi/xpp/xbus-core.h: xpp: add FXO HWEC quirks handling
+ In some cases the hardware echo canceller cannot be used. Mostly
+ related to an FXO module. * FXO module if the first module is BRI
+ or PRI * FXS module if the Astribank has another FXO, no PRI/BRI,
+ and is a sync slave. Signed-off-by: Oron Peled
+ <oron.peled at xorcom.com> Acked-By: Tzafrir Cohen
+ <tzafrir.cohen at xorcom.com>
+
+2011-07-01 15:45 +0000 [r10016-10017] Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wcb4xxp/base.c: wcb4xxp: Return NULL if there is
+ not a hardware EC on installed. r9943 enabled the presence of
+ hardware EC to be probed on a card. That change did not account
+ for wcb4xxp based cards that did not have a hardware echocan on
+ board. Signed-off-by: Shaun Ruffell <sruffell at digium.com>
+ Acked-by: Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/wct4xxp/base.c: wct4xxp: Add module parameter to
+ ignore rotary switch settings. The dual and quad span cards have
+ a rotary switch onboard which controls the order that cards
+ serviced by this driver are registered with the core of DAHDI.
+ This commit adds a module parameter 'ignore_rotary' which, when
+ set to 1, causes the driver to ignore the position of the rotary
+ switch and only consider the physical slot when registering with
+ DAHDI. Ignoring the rotary switch settings also permits the PCI
+ device to be bound and unbound from the driver at runtime since
+ registration with DAHDI no longer only happens when the module is
+ first initialized. By default, the rotary switch will still be
+ used to determine registration order. This commit does not change
+ the default behavior. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+2011-06-30 22:02 +0000 [r10010-10014] Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * build_tools/live_dahdi: Also loca xpd_echo in live_dahdi, if
+ available Signed-off-by: Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/xpp/firmwares/FPGA_1161.hex,
+ drivers/dahdi/xpp/firmwares/USB_FW.hex: xpp: FPGA_1161 rev 9252,
+ USB_FW rev 8826: HWEC New Astribank II FPGA firmware and USB
+ firmwares that add support for the hardware echo canceller
+ module. Note that due to a bug in previous FPGA firmwares, an
+ Astribank with such older firmware and with a hardware echo
+ canceller module will not have any functioning audio at all.
+ Signed-off-by: Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/xpp/init_card_5_30 (added),
+ drivers/dahdi/xpp/firmwares/Makefile: xpp: also install init
+ (non)script for xpd_echo
+
+ * drivers/dahdi/oct612x/include/oct6100api/oct6100_defines.h,
+ drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c,
+ drivers/dahdi/oct612x/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c,
+ drivers/dahdi/oct612x/include/oct6100api/oct6100_channel_inst.h:
+ oct612x: Fixes for Octasic user space compilation: * Don't assume
+ a pointer diff is 16 bits only. * cOCT6100_INVALID_VALUE should
+ be used against 32 unsigned values * Make 3 constants adjustable
+ via '-Dmacro=value': - cOCT6100_INTERNAL_SUPER_ARRAY_SIZE -
+ cOCT6100_MAX_ECHO_CHANNELS - cOCT6100_MAX_MIXER_EVENTS
+ Signed-off-by: Oron Peled <oron.peled at xorcom.com> Signed-off-by:
+ Tzafrir Cohen <tzafrir.cohen at xorcom.com> Acked-by: Doug Bailey
+ <dbailey at digium.com> Acked-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+2011-06-29 22:15 +0000 [r10000-10008] Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Fix typo in previous
+ commit for fastpickup mode. I failed to compile the commit
+ exactly as it was committed. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Add 'fastpick'
+ module parameter. When true / 1 the FXO port will use a shorter
+ off-hook calibration delay. This is sometimes necessary in order
+ to properly decode Type-II Caller ID information which is sent
+ shortly after an FXO port goes off hook. Defaults to 0 unless
+ opermode is "JAPAN" then it will default to 1. This functionality
+ was ported from the wctdm.c driver. DAHDI-854. Signed-off-by:
+ Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Ensure battery drops
+ on FXS hangups honor the channel otimer. If an FXS port is
+ configured to use kewl start signalling, when the FXS port is
+ "hungup" it should drop battery for 500ms so that any attached
+ devices can detect that the remote side has disconnected. The
+ wctdm24xxp driver since version 2.4.0 was only dropping battery
+ for ~5-10 ms because it would set "open" on the line, but then
+ the next time it read the line feed register state, it was
+ setting the LINE feed register to the idle state. This change
+ checks if the line is forced open before setting the FXS port
+ back "onhook" so as to not turn on battery prematurely. This
+ fixes a regression introduced in r9070 "wctdm24xxp: Prevent FXS
+ Proslic staying in "Forward/Reverse OnHookTransfer...".
+ DAHDI-849. Checking for open on the line feed registered was
+ originally suggested by Alec Davis. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * include/dahdi/user.h, include/dahdi/kernel.h: Revert "dahdi: Use
+ enumeration for maintenance modes." This reverts commit r9879.
+ Asterisk commit r264249 [1], which was committed after the switch
+ to enumerations, requires the maintenance modes to be Changing
+ the test in configure.ac from: AST_C_DEFINE_CHECK([DAHDI],
+ [DAHDI_RESET_COUNTERS], [dahdi/user.h], [230]) to:
+ AST_C_COMPILE_CHECK([DAHDI], [int foo = DAHDI_RESET_COUNTERS],
+ [dahdi/user.h]) Would allow the maintenance modes to stand as
+ enumerations but the potential for users to run incompatible
+ versions does not seem worth it at this point. [1]
+ http://svnview.digium.com/svn/asterisk?view=revision&revision=264249
+ Signed-off-by: Shaun Ruffell <sruffell at digium.com> Acked-by: Russ
+ Meyerriecks <rmeyerriecks at digium.com>
+
+2011-06-28 22:29 +0000 [r9997-9998] Russ Meyerriecks <rmeyerreicks at digium.com>
+
+ * drivers/dahdi/voicebus/vpmoct.c, drivers/dahdi/wcte12xp/base.c,
+ drivers/dahdi/voicebus/vpmoct.h, drivers/dahdi/wctdm24xxp/xhfc.c,
+ drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
+ drivers/dahdi/wctdm24xxp/base.c,
+ drivers/dahdi/wcte12xp/wcte12xp.h: wcte12xp, wctdm24xxp: Load
+ VPMOCT032 firmware in background. The firmware load has been
+ moved into a workqueue to prevent the module load from blocking
+ for the duration of the firmware upload. This could be up to 40
+ seconds. Driver prevents configuration until firmware load is
+ finished and is_initialized() returns true. Signed-off-by: Russ
+ Meyerriecks <rmeyerriecks at digium.com> Signed-off-by: Shaun
+ Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/voicebus/vpmoct.c (added),
+ drivers/dahdi/wcte12xp/base.c, drivers/dahdi/firmware/Makefile,
+ drivers/dahdi/voicebus/Kbuild, drivers/dahdi/voicebus/vpmoct.h
+ (added), drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
+ drivers/dahdi/wctdm24xxp/base.c,
+ drivers/dahdi/wcte12xp/wcte12xp.h: wcte12xp, wctdm24xxp: Add
+ support for the VPMOCT032 hardware echocanceler. Support enabled
+ for the vpmoct032 echo cancellation module for the wctdm24xxp and
+ wcte12xp drivers. Signed-off-by: Russ Meyerriecks
+ <rmeyerriecks at digium.com> Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+2011-06-28 21:29 +0000 [r9995] Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/dahdi-base.c: dahdi: Always attach hwec to a
+ channel if available. In previous releases of DAHDI if dahdi_cfg
+ attached a software echocan to a channel and a hardware echocan
+ was available, the hardware echocan would be used instead of the
+ software echocan. Since the 2.4 branch was created a new feature
+ was merged into dahdi-linux where it was possible to mix software
+ echocan and hardware echocan on a channel. This required using
+ "hwec" as the echocan in the /etc/dahdi/system.conf file so that
+ what was specified in the configuration file is what was actually
+ used. This has resulted in users upgrading to the trunk of dahdi
+ without updating their /etc/dahdi/system.conf file and just
+ suddenly not using any hardware echocans any longer. The
+ capability to mix software and hardware echocans on a span will
+ be revisted when running dahdi_cfg on any preexisting
+ configuration files doesn't just silently turn off hardware
+ echocan. Signed-off-by: Shaun Ruffell <sruffell at digium.com>
+
+2011-06-28 18:23 +0000 [r9993] Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/xpp/card_pri.c, drivers/dahdi/xpp/card_fxo.c,
+ drivers/dahdi/xpp/xbus-sysfs.c, drivers/dahdi/xpp/card_fxs.c,
+ drivers/dahdi/xpp/Kbuild, drivers/dahdi/xpp/xproto.c,
+ drivers/dahdi/xpp/xpp_debug, drivers/dahdi/xpp/xbus-pcm.c,
+ drivers/dahdi/xpp/xpp_dahdi.c, drivers/dahdi/xpp/xpd.h,
+ drivers/dahdi/xpp/xproto.h, drivers/dahdi/xpp/xbus-pcm.h,
+ drivers/dahdi/xpp/xpp_dahdi.h, drivers/dahdi/xpp/card_bri.c,
+ drivers/dahdi/xpp/xbus-core.c, drivers/dahdi/xpp/card_echo.c
+ (added), drivers/dahdi/xpp/card_echo.h (added),
+ drivers/dahdi/xpp/xbus-core.h: xpd_echo: XPP Octasic echo
+ canceler module * xpd_echo (card_echo.c) - a module to handle an
+ Astribank hardware echo canceller module. * All other XPDs are
+ now of type 'telephony_device'. Only a telephony device XPD
+ provides a span to register. * The EC module will typically show
+ up as XPD-40 and will always show up as Unregistered in
+ 'dahdi_hardware -v' Signed-off-by: Oron Peled
+ <oron.peled at xorcom.com> Signed-off-by: Tzafrir Cohen
+ <tzafrir.cohen at xorcom.com>
+
+2011-06-28 15:55 +0000 [r9989-9991] Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/dahdi-base.c: Revert "dahdi: Group dahdi timers
+ into "rates" for improved CPU utilization." This reverts commit
+ r9891 and is part of two commits to revert all the timer changes.
+ Grouping the timer into rates did not allow a timers rate to be
+ changed after another thread is already blocked on the poll call
+ The problem that was reported was if a sip call was made to a
+ DAHDI channel and the sip call was disconnected before answer,
+ the DAHDI channel would never stop rining. Signed-off-by: Shaun
+ Ruffell <sruffell at digium.com> Acked-by: Russ Meyerriecks
+ <rmeyerriecks at digium.com>
+
+ * drivers/dahdi/dahdi-base.c: Revert "dahdi: If a timer is not
+ configured then we should block indefinitely." This reverts
+ commit r9937 and is part of two commits to revert all the timer
+ changes. Grouping the timer into rates did not allow a timers
+ rate to be changed after another thread is already blocked on the
+ poll call Signed-off-by: Shaun Ruffell <sruffell at digium.com>
+ Acked-by: Russ Meyerriecks <rmeyerriecks at digium.com>
+
+ * include/dahdi/kernel.h: kernel.h: Define __packed if not already
+ defined. Linux kernel v2.6.22 introduced the __packed macro to
+ allow the gcc specific __attribute__((packed)) extension to be
+ overridden if required and checkpatch.pl will complain if you
+ don't use it. For some strange reason gcc doesn't complain when
+ you use non-existant decorators. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com> Signed-off-by: Russ Meyerriecks
+ <rmeyerriecks at digium.com>
+
+2011-06-20 16:01 +0000 [r9981] Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wcte12xp/base.c: wcte12xp: Start alarm timer after
+ marking board initialized. r9946, "wcte12xp: Move the VPMADT032
+ test/configuration to module load time." introduced a race
+ condition where it was possible for the timer that initiates the
+ check for the alarms to fire before the board was marked
+ initialized. This would result in a board that would never again
+ check it's alarm state since the first time the timer runs
+ INITIALIZED may not be set and it will not reschedule a check
+ since it believes the driver is unloading. This happened because
+ the check for the VPM was moved between when the timer was first
+ setup and when INITIALIZED was then set. Now we make sure
+ INITIALIZED is set before the timer is first setup, and move
+ those two operations together. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com> Acked-by: Russ Meyerriecks
+ <rmeyerriecks at digium.com>
+
+2011-06-11 01:58 +0000 [r9977] Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Do not read extra
+ register when test for FXO module fails. In commit r9968
+ "wctdm24xxp: Allow more than one outstanding read at a time" I
+ introduced a regression where the transmit FIFO on the data
+ channel of a B400M could get locked up. The result would be
+ constant HDLC overflows when writing to the data channel. This
+ regression did not make it into any releases and did not exhibit
+ itself when crossing spans on a single B400M module. This is a
+ partial revert of commit r9968. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+2011-06-02 20:04 +0000 [r9928-9971] Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Do not export board
+ number in the device description. The board number dupliates the
+ information that is available in the location field. Exporting it
+ as part of the description makes the name dependent on the driver
+ bind order which is not desirable. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
+ drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Calculate the SPI
+ offsets ahead of time. Updates the CMD_BYTE macro to use
+ precalculated offsets. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Shorten up some of
+ the sleeps/waits. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Allow more than one
+ outstanding read at a time. Since every read needs to go through
+ the complete voicebus pipeline, if we know we're going to read
+ multiple bytes we can queue them all up. Signed-off-by: Shaun
+ Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
+ drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: reglock can be used
+ to protect the txhookstate. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
+ drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Use lists for SPI
+ commands to the modules. Saves time in the interrupt handler by
+ eliminating the need to scan through all of the slots in the cmd
+ arrays. Also allows the reads from ISR context to automatically
+ grow as the latency grows. This ensures that battery and hook
+ state is actually checked every frame like originally intended.
+ Signed-off-by: Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Cleanup in
+ wctdm_identify_modules. Trivial reformatting that preps it for
+ some parallelizing the module loads. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
+ drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Remove 'pos' member
+ from 'struct wctdm'. The card position is only used during
+ startup so we don't need to carry it around in the strucuture.
+ Signed-off-by: Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
+ drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Drop 'flags' from
+ 'struct wctdm_module'. The voicebus cards only support the S110M
+ FXS modules which are based on the 3215. The module flags member
+ was only used to hold whether we were dealing with a 3210 or 3215
+ SLIC, so we can drop it since we always know we'll have a 3215
+ based SLIC. Signed-off-by: Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/base.c,
+ drivers/dahdi/voicebus/GpakCust.h: wctdm24xxp: Hold the reglock
+ longer in the interrupt handler. Cuts down on the overhead of
+ constantly saving and restoring the interrupt registers.
+ Signed-off-by: Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/xhfc.c,
+ drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
+ drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/wctdm24xxp/xhfc.h:
+ wctdm24xxp: Pass the pointer to struct wctdm_module directly
+ instead of index. This change gets all the easy places and saves
+ on array dereferences when we already have the address of the
+ module that we are interested in. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Use pointer to
+ "struct fxs" in POLARITY_XOR. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Trivial. Reduce the
+ indentation level in wctdm_proslic_oppending. Signed-off-by:
+ Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/xhfc.c,
+ drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
+ drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Use enumeration for
+ module types. This change is to primarily to clarify that the
+ types are always mutually exclusive. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
+ drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Group the QRV
+ members together. This also allows us to add them to the union
+ with the other module types so they do not add to the memory
+ usage if there aren't any QRV modules installed. Signed-off-by:
+ Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/xhfc.c,
+ drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
+ drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Group the per-module
+ information together Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
+ drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Dynamically allocate
+ the board_name. Move the data backing the mostly unused string
+ away from the active members of 'struct wctdm'. The location
+ where some of the other members of 'struct wctdm' are initialized
+ were moved so that wctdm_back_out_gracefully always has a fully
+ formed structure to work on. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
+ drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Remove modmap member
+ from 'struct wctdm'. We can already use the module type to
+ determine presence of a module to check. This also moves the
+ background polling of the modules until after the board is
+ completely initialized because the module type may change while
+ the different types are being probed. This also means that we
+ need to preset the shadow registers for the FXS because otherwise
+ the shadow register will not have been read before the first time
+ it's checked for a power alarm. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wcte12xp/wcte12xp.h:
+ wcte12xp: Limit how many consecutive times to reset the VPMADT032
+ module. Both limit the amount of junk in the kernel log and also
+ prevent dahdi_cfg from running indefinitely if there is a module
+ with a hardware problem which prevents it from completing the
+ startup sequence. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/wcte12xp/wcte12xp.h: wcte12xp: Remove unused vpm100
+ member from 'struct t1' Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wctdm24xxp/base.c,
+ drivers/dahdi/voicebus/GpakCust.c,
+ drivers/dahdi/voicebus/GpakCust.h: wcte12xp, wctdm24xxp: Separate
+ test for VPMADT032 and initialization. Part of increasing system
+ startup speed. Splitting these two operations facilitate checking
+ if there is a module present synchronously on driver load from
+ the actual load of the firmware and configuration of the
+ channels. This will allow the presence of the VPM module to be
+ flagged on the span before registration, but load and
+ configuration can happen in the background. When the modules are
+ eventually loaded via udev, there will be enough time from the
+ time the drivers are loaded to when dahdi_cfg will run to
+ complete the firmware load, eliminating the need to block the
+ driver here. Signed-off-by: Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wctdm24xxp/base.c,
+ drivers/dahdi/voicebus/GpakCust.c,
+ drivers/dahdi/voicebus/GpakCust.h: wcte12xp, wctdm24xxp: Use a
+ constant string for the VPM workqueue name. In my opinion naming
+ the VPM workqueues for each board is not worth the extra
+ complexity. Signed-off-by: Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wcte12xp/base.c: wcte12xp: Set the t1.vpmadt032
+ pointer under the reglock. Ensures that a single run of the
+ interrupt service routine is consistent about whether there are
+ VPMADT032 commands to process or not. Signed-off-by: Shaun
+ Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wcte12xp/base.c: wcte12xp: Put "Span configured"
+ message behind debug flag. This message also duplicates what is
+ in the /etc/dahdi/system.conf file and should only be necessary
+ when troubleshooting problems. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/wcte12xp/base.c: wcte12xp: kmalloc/memset ->
+ kzalloc. This is trivial cleanup. Fixing up a couple of places
+ that followed a kmalloc with a memset to 0 and also sneaked in
+ one ARRAY_SIZE usage change. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com>
+
+ * drivers/dahdi/wcte12xp/base.c: wcte12xp: Move the VPMADT032
+ test/configuration to module load time. The firmware load of the
+ VPMADT032 was moved to startspan because a quad-span card in the
+ same system would would lock interrupts for several seconds to
+ load VPMOCT064/128 firmware. Now that the wct4xxp driver no
+ longer locks interrupts while loading its VPM module this driver
+ can move the VPMADT032 check/load back to module load time. This
+ is also required so that the presence of a hardware echo canceler
+ is marked on the span before it is registered with dahdi-base.c.
+ Signed-off-by: Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wcte12xp/wcte12xp.h:
+ wcte12xp: Force spanconfig/chanconfig to wait for ready. This is
+ always true currently but will not necessarily be in the future.
+ Signed-off-by: Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wctdm24xxp/xhfc.c,
+ drivers/dahdi/wctdm24xxp/wctdm24xxp.h,
+ drivers/dahdi/wctdm24xxp/base.c: wctdm24xxp: Block chanconfig and
+ spanconfig until board is ready. Currently the board will always
+ be ready if the module initialization function is complete but
+ this change will facilitate allowing some of the more time
+ consuming configuration steps to happen in parallel on system
+ start. Signed-off-by: Shaun Ruffell <sruffell at digium.com>
+
+ * drivers/dahdi/wcte12xp/base.c, drivers/dahdi/wct4xxp/base.c,
+ drivers/dahdi/wctdm24xxp/base.c, drivers/dahdi/dahdi-base.c:
+ dahdi: Do not allow 'hwec' to be attached to channels that do not
+ have one. This defines a NULL value for the name of an echocan as
+ invalid. This will allow dahdi_genconf to probe for the presence
+ of a hardware echocan on a channel by trying to attach one. If
+ there is not a hardware echocan available DAHDI_ATTACH_ECHOCAN
+ ioctl will return -EINVAL if 'hwec' was specified as the name of
+ the echo canceler now. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com> Acked-by: Tzafrir Cohen
+ <tzafrir.cohen at xorcom.com>
+
+ * include/dahdi/kernel.h, drivers/dahdi/dahdi-base.c: dahdi:
+ Provide notification when preechocan buffer is created and
+ destroyed. Not quite ideal, but this seems to be the most
+ straightforward way to know when someone is trying to monitor the
+ preec stream on a channel. This callback allows the board driver
+ providing the span an opportunity to setup the hardware preecho
+ monitoring as needed. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com> Acked-by: Tzafrir Cohen
+ <tzafrir.cohen at xorcom.com>
+
+ * include/dahdi/kernel.h, drivers/dahdi/dahdi-base.c: dahdi: Update
+ the dahdi_ec_chunk interface to support preec streams.
+ dahdi_ec_chunk is the function that saves the received audio and
+ places a signed linear copy of it in the pre echocanceled buffer
+ on the channel. By splitting the input and output of this
+ function into two parameters, a driver that can provide separate
+ pre and post ec streams can pass them independently to DAHDI,
+ without worrying about DAHDI overwriting a stream that may have
+ already been echocanceled by the hardware. Previously, the
+ dahdi_ec_chunk interface took a received audio buffer and
+ overwrote it after canceling the echo. Now the input and output
+ from the function are broken up in order to support hardware
+ echocans that have a different preechocan stream. Signed-off-by:
+ Shaun Ruffell <sruffell at digium.com> Acked-by: Tzafrir Cohen
+ <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/tor2.c, drivers/dahdi/wcte12xp/base.c,
+ drivers/dahdi/wcb4xxp/base.c, drivers/dahdi/xpp/card_pri.c,
+ include/dahdi/kernel.h, drivers/dahdi/wct4xxp/base.c,
+ drivers/dahdi/wctdm24xxp/xhfc.c, drivers/dahdi/wcte11xp.c,
+ drivers/dahdi/xpp/card_bri.c, drivers/dahdi/dahdi_dynamic.c,
+ drivers/dahdi/wct1xxp.c, drivers/dahdi/dahdi-base.c,
+ drivers/dahdi/wctdm24xxp/xhfc.h: dahdi: Allow
+ dahdi_span_ops.[chan|span]config and startup to block. This
+ change ensures that the dahdi_span_ops callbacks are not called
+ with any spinlocks held, and that the module is pinned in memory,
+ and also passes the struct file * pointer to the callbacks.
+ Passing the file pointer to the callbacks allows the board
+ drivers to check any flags on the file descriptor used to
+ configure the span/channel. The intent here is to allow
+ dahdi_config to open the /dev/dahdi/ctl file in a non-blocking
+ mode in case there is a lengthy processes that needs to happen as
+ part of configuration. Signed-off-by: Shaun Ruffell
+ <sruffell at digium.com> Acked-by: Tzafrir Cohen
+ <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/dahdi-base.c: dahdi: Do not release the echocan
+ under lock. This allows any echocan cleanup to block if
+ necessary. Especially useful for hardware echocans that may need
+ to wait for hardware to complete the cleanup process.
+ Signed-off-by: Shaun Ruffell <sruffell at digium.com> Acked-by:
+ Tzafrir Cohen <tzafrir.cohen at xorcom.com>
+
+ * include/dahdi/kernel.h: dahdi: Support "struct mutex" on pre
+ 2.6.16 kernels. 'struct mutex' was introduced in 2.6.16. While
+ DAHDI previously allowed statically allocated mutexes, this
+ change is required in order to allow mutexes to be embedded in
+ dynamically allocated structures on older kernels. Signed-off-by:
+ Shaun Ruffell <sruffell at digium.com> Acked-by: Tzafrir Cohen
+ <tzafrir.cohen at xorcom.com>
+
+ * drivers/dahdi/dahdi-base.c: dahdi: If a timer is not configured
+ then we should block indefinitely. Some older Asterisk versions
+ do not handle well the error message when poll is called on an
+ unconfigured channel. The result would be constant __ast_read:
+ No/unknown event '0' on timer for 'DAHDI/1-1'? messages from
+ Asterisk. Signed-off-by: Shaun Ruffell <sruffell at digium.com>
[... 4074 lines stripped ...]
More information about the svn-commits
mailing list