[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