summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2011-02-09wctdm24xxp: Remove the wctdm_regs structure from the stack in wctdm_ioctl.Shaun Ruffell
Drops the size of the wctdm_ioctl stack from 524 to 204 bytes. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9748 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-02-09wctdm24xxp: Remove unused portconfig variable.Shaun Ruffell
The code is duplicated in the config_vpmadt032 function. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9747 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-02-02dahdi: Analog spans do not have to be marked RUNNING to become master.Shaun Ruffell
Fixes a regression introduced in r9611. Analog spans would never become the master since the SPANSTART ioctl is not typically called on them, and therefore they were never marked RUNNING. The result could be audio problems. I'm marking this as related to issue 13205 since it's generally all related to how should the drivers select which span is the master. I also mark as related to issue 16165 because the problems experienced are a result of the same fundamental issue. (issue #13205)(issue #16165) Reported-and-Tested-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9729 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-31xpp: Missing lock release in xpp_dahdi_unregisterTzafrir Cohen
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9727 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-31dahdi: Experimentally remove dependency on the Big Kernel Lock.Shaun Ruffell
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> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9721 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-31wctdm24xxp: Remove code for unsupported modules.Shaun Ruffell
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> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9720 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-30xpd_pri: Explicit initialization of span.alarmsTzafrir Cohen
Signed-off-by: Oron Peled <oron@actcom.co.il> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9718 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-30xpd_pri: Reduce indentationTzafrir Cohen
Signed-off-by: Oron Peled <oron@actcom.co.il> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9717 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-30xpd_pri: reorder debug messagesTzafrir Cohen
Move priv->layer1_up debug message after priv->is_cas debug message. Otherwise, we get extra meaningless debug message. Signed-off-by: Oron Peled <oron@actcom.co.il> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9716 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-30xpp: remove unused XPD_STATE() "protocol method"Tzafrir Cohen
Folded XPD_STATE() "protocol method" into the card_state() method. It was only called from these (otherwise empty) methods. Also it is not a "protocol method" for a very very very long time. Signed-off-by: Oron Peled <oron@actcom.co.il> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9715 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-30xpp: Remove few extra leading spacesTzafrir Cohen
Signed-off-by: Oron Peled <oron@actcom.co.il> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9713 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-30xpp: Use our KZALLOC/KZFREETzafrir Cohen
Signed-off-by: Oron Peled <oron@actcom.co.il> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9712 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-30xpp: use phonedev_cleanup() instead of inline codeTzafrir Cohen
Signed-off-by: Oron Peled <oron@actcom.co.il> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9711 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-30xpp: Add fixed runtime checks for the PHONEDEV codeTzafrir Cohen
Signed-off-by: Oron Peled <oron@actcom.co.il> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9710 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-30xpp: init_card_4_30: add commentTzafrir Cohen
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9709 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-30xpp: Kbuild: always update version stringTzafrir Cohen
* Keep the xpp version number up-to-date * Non-verbose build output. Signed-off-by: Oron Peled <oron@actcom.co.il> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9708 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-30xpp: phonedev: Cleanup method macrosTzafrir Cohen
* Caller to CALL_XMETHOD() no longer need to explicitly pass xbus (calculate xpd->xbus) * Create CALL_PHONE_METHOD() similar to CALL_XMETHOD() -- inlining the extra parameters (more readable) * Reverse parameter order in PHONE_METHOD() and CALL_PHONE_METHOD() to be consistent with XMETHOD() and CALL_XMETHOD() * Rename XPD_STATE phonedev method to card_state: - Consistency with other phonedev methods. - These calls now Wrap internal calls to XPD_STATE protocol HOSTCMD in PRI, BRI, FXS, FXO Signed-off-by: Oron Peled <oron@actcom.co.il> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9706 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-30xpp: More adaptations for non-PHONEDEV XPDsTzafrir Cohen
* Add IS_PHONEDEV(xpd) macro * Reject dahdi_register_xpd()/dahdi_unregister_xpd() for non-PHONEDEV * Make sysfs 'offhook' attribute contain '\n' if empty (no channels) * Skip PHONEDEV related xbus_tick() parts -- we still want to process the end of it for the card_tick() calls. * Remove BUG_ON() for missing phoneops (also remove old duplicate test for XBUS_IS...) * Call XPD_STATE method only for PHONEDEV XPD's Signed-off-by: Oron Peled <oron@actcom.co.il> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9705 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-30xpp: prepare for phonedev refactorTzafrir Cohen
* Allow having XPDs that represent a device that is not a span. * Refactor all span related data from 'struct xpd' to 'struct phonedev' * Refactor span related methods into 'phonedev->phoneops' * Refactor phone related initialization into phonedev_init()/phonedev_cleanup() Signed-off-by: Oron Peled <oron@actcom.co.il> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9704 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-27Fix for bugs in timing selection when B410P card is not the first configured ↵Matthew Fredrickson
card in system. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9701 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-20wct4xxp: Do not place _t4_remove_one in module exit section.Shaun Ruffell
_t4_remove_one is now used during module initialization so it should not be placed in the exit section of the module. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9650 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-20wctdm24xxp: Replace interruptible_sleep_on with wait_event_interruptible.Shaun Ruffell
Eliminates the interruptible_sleep_on deprecated and prevents the driver from triggering the SLEEP_ON_BKLCHECK warning. It is still desirable to convert the cmdq to something more like what is in the single span to eliminate the need to schedule the sleeping process every millisecond while we're waiting for the command to complete. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9646 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-18dahdi: Constify the data parameter to __buf_push.Shaun Ruffell
Just clarifying a parameter that is never updated. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9644 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-18dahdi: Trivial. Move process_masterspan description.Shaun Ruffell
Move the description of the master span processing to above the process_masterspan function. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9643 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-18dahdi: Fix recent regression with native bridging.Shaun Ruffell
This fixes a regression introduced in r9603. That commit removed DAHDI_CONF_DIGITALMON handling (which is used to natively bridge two channels that cannot be crossed in the board driver / hardware) since I mistakenly thought that it was only part of the DACS handling. The symptom of the regression is muted audio when Asterisk tries to natively bridge two channels. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9642 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-17dahdi: Permit open pseudo channels before spans are registered.Shaun Ruffell
Move pseudo channel numbers up into a high range so that their presence does not interfere with assigning channel numbers for the channels implemented on spans. Otherwise, if a pseudo channel was opened up before an expected span was registered, all the channel numbers in the newly registered span would be bumped up one. This does limit the number of real channels that a single system may have registered to 32K (but in dahdi-linux 2.4.0 and below you were limited to 1024 channels anyway, both real and pseudo). Also, the string name of the Pseudo channel is now based off the number of Pseudo channels and not the total number of channels. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9637 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-17wct4xxp: Check the return value of dahdi_register call.Shaun Ruffell
If dahdi_register fails, we would like the error to propagate to the user who ran modprobe. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9636 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-17wct4xxp: Perform an extended reset on PCI-Express cards by default.Shaun Ruffell
Extended reset is needed primarily with the PCI express version of the dual and quad-span cards. Enable it by default for those cards and allow it to be forced on or off globally for the driver as a compile time option. The options to force it should be able to come out if there aren't any further reports that the compile time option needs to be set. DAHDI-773 Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9635 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-16dahdi-sysfs: include slab.h for newer kernelsTzafrir Cohen
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9633 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-16Remove the (now) duplicate ruleTzafrir Cohen
Now that makefw has the proper name, the rule to create it is automatically generated by Kbuild. Removed. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9632 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-16Fixes accidental generation of drvers/dahdi/$(obj)Tzafrir Cohen
If we tell Kbuild (at least of some versions) that the host program is $obj/makefw , it will attempt to create the full path of $(obj) for it under the current $(obj). git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9630 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-16Refactor SysFS code to dahdi-sysfs.cTzafrir Cohen
* Refactor SysFS and device-related code to drivers/dahdi/dahdi-sysfs.c . * Move common headers to drivers/dahdi/dahdi.h . This commit merely moves existing code and should have no functional change. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Acked-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Oron Peled <oron.peled@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9628 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-10cleaner error handling in dahdi_registerTzafrir Cohen
* Better error handling in dahdi_register. * Fail registration if fails creating proc entry for span. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Acked-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9626 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-10span_sysfs_{create,remove}Tzafrir Cohen
* Separate out device generation in dahdi_[un]register to separate functions. * As we don't keep anywhere the information of whether or not * there's an existing device node for a channel, I abuse an unused flag: DAHDI_FLAGBIT_DEVFILE (25), to mark if the channel has a sysfs node. DAHDI_FLAGBIT_DEVFILE is expected to be replaced later on with a proper pointer to the device (or embedding of the device). I prefer a simple flag for now as it does not break ABI. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Acked-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9625 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-10Pass error val from dahdi_register_echocan_factoryTzafrir Cohen
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> Acked-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9624 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-10separate device init functionsTzafrir Cohen
Separate out device initialization and removal functions: dahdi_sysfs_init() and dahdi_sysfs_exit(). A safer way of generating the main device files. Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9623 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-06dahdi: Do not call dahdi_check_conf under lock.Shaun Ruffell
dahdi_check_conf() acqurires the locks as needed when scanning the channels and should not be called under any spinlocks. Fixes a regression that Tzafrir reported in #asterisk-dev that he could trigger via "asterisk -rx 'channel originate Local/600@demo Application Meetme 3000,d'" Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9621 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-05dahdi: Ensure we have room to keep all span channels contiguous.Shaun Ruffell
This fixes a regression from r9609 that Tzafrir reported. If you register multiple spans, then remove the first span and try to register a new span with more channels then the old span, you could end up with multiple channels with the same number. This change ensures that spans are ordered and that channels on a span are always contiguous and ordered in relation to the spans. In previous released versions of DAHDI (2.4.0 and below) this condition would result in spans that may not have contiguous blocks of channels. So it fixes both a recent regression and improves the behavior. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9617 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-05dahdi: Move the default tone lengths into include/dahdi/dahdi_config.hShaun Ruffell
The default tone lengths are compile time options and they were in digits.h to make it easy for users to patch. Most of these settings are potentially overridden from user space via the DAHDI_SET_DIALPARAMS ioctl currently regardless of these settings. In r9597 I moved digits.h directly into dahdi-base.c since I thought it was broken out for sharing between compilation units as opposed to ease patching. I also changed the units of the default options to ms instead of in samples. This way if the sampling frequency changes the user will not need to update the defaults. Signed-off-by: Shaun Ruffell <sruffell@digium.com> asterisk-dev-reference: 4D236FD7.30707@digium.com git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9616 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03dahdi: Also use constant for DAHDI_TRANSCODETzafrir Cohen
Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9614 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03dahdi: Break the dahdi_ctl_ioctl handlers into separate functions.Shaun Ruffell
This is a cleanup as part of simplifying reference counting for the spans. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9612 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03dahdi: Do not locate new master in interrupt context.Shaun Ruffell
When a span goes into alarm it will look for a potential new master span. For dynamic spans that are running their processing in the sync_tick callback, the chan_lock will already be held. Therefore, push the locating of a new master out to the global workqueue. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9611 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03dahdi: Add module parameter to limit number of pseudo channels.Shaun Ruffell
Since there isn't a fixed array to hold all the channels, and also limit the total number of channels that can be created, we'll add a module parameter to allow the system administrator to specify the maximum number of pseudo channels. This is to prevent a potentially non-privledged process from consuming too much CPU (since all pseudos are checked each "tick" for conferencing) and kernel memory. By default the number of pseudo channels is limited to 512. Change the default limit with: ]# modprobe dahdi max_pseudo_channels=<new limit> or at runtime with: ]# echo <new limit> > /sys/module/dahdi/parameters/max_psuedo_channels Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9610 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03dahdi: Remove 'chans' array from reg/unreg. Now completely removed.Shaun Ruffell
Remove the remaining locations the 'chans' array was referenced but keep the observable behavior the same. Namely, channels are numbered in registration order. Only now it's possible to renumber channels easily since their number is not also their implied location in the 'chans' array. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9609 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03dahdi: Remove three maxchans/DAHDI_MAX_CHANNELS references.Shaun Ruffell
In dahdi_chec_conf, dahdi_chan_unreg, and dahdi_ioctl_confdiag maxchans and DAHDI_MAX_CHANNELS was used to scan through all the channels. Since the channels are stored on the list of spans and list of pseudo channels, we can directly iterate through those lists. This also paves the way for removing the arbitrary limit on the number of channels in the driver. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9608 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03dahdi: Drop 'chans' reference in chan_from_num.Shaun Ruffell
Part of getting rid of global chans array. We need to search the list of spans and the list of pseudo channels. While this is slower than a direct index into a 'chans' array, the places where this function is called are not in the 'hot' path but instead part of channel configuration and conferencing setup. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9607 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03dahdi: Group all conditions for skipping channel receive together.Shaun Ruffell
Streamlines the function a bit by grouping the three conditions that would cause the channel receive to be completely skipped. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9606 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03dahdi: Move the slave channel processing into separate functions.Shaun Ruffell
IMO this improves readability of dahdi_receive and dahdi_transmit, and the compiler can decide if it is better to inline this in with the caller or break it out into a separate function. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9605 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03dahdi: Save pointer to monitored channel in struct dahdi_chan.Shaun Ruffell
When we're in monitor mode, we can save a pointer to the channel we are monitoring directly instead of dereferencing the 'chans' array each time. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9604 a0bf4364-ded3-4de4-8d8a-66a801d63aff
2011-01-03dahdi: When DACS is enabled, hold a pointer directly to the crossed channel.Shaun Ruffell
This both removes the need to reference the 'chans' __dahdi_process_putaudio_chunk and __dahdi_process_getaudio_chunk, and allows the dahdi_receive / dahdi_transmit logic to be streamlined. DACS channels can no longer be echocanceled if crossed. However, if a channel was DACSed with dahi_cfg it couldn't have been echocanceled anyway since the echo cancelers are disabled on the channel by default. This change was originally contained in a patch kpfleming had floating around. I split it up and merged it. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Signed-off-by: Kevin P. Fleming <kpfleming@digium.com> Acked-by: Kinsey Moore <kmoore@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9603 a0bf4364-ded3-4de4-8d8a-66a801d63aff