dahdi: Trivial. Move process_masterspan description.

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
This commit is contained in:
Shaun Ruffell
2011-01-18 20:25:31 +00:00
parent f2b7303161
commit 3cee9adfbb

View File

@@ -201,45 +201,6 @@ static struct core_timer {
#endif /* CONFIG_DAHDI_CORE_TIMER */
/* There are three sets of conference sum accumulators. One for the current
sample chunk (conf_sums), one for the next sample chunk (conf_sums_next), and
one for the previous sample chunk (conf_sums_prev). The following routine
(rotate_sums) "rotates" the pointers to these accululator arrays as part
of the events of sample chink processing as follows:
The following sequence is designed to be looked at from the reference point
of the receive routine of the master span.
1. All (real span) receive chunks are processed (with putbuf). The last one
to be processed is the master span. The data received is loaded into the
accumulators for the next chunk (conf_sums_next), to be in alignment with
current data after rotate_sums() is called (which immediately follows).
Keep in mind that putbuf is *also* a transmit routine for the pseudo parts
of channels that are in the REALANDPSEUDO conference mode. These channels
are processed from data in the current sample chunk (conf_sums), being
that this is a "transmit" function (for the pseudo part).
2. rotate_sums() is called.
3. All pseudo channel receive chunks are processed. This data is loaded into
the current sample chunk accumulators (conf_sums).
4. All conference links are processed (being that all receive data for this
chunk has already been processed by now).
5. All pseudo channel transmit chunks are processed. This data is loaded from
the current sample chunk accumulators (conf_sums).
6. All (real span) transmit chunks are processed (with getbuf). This data is
loaded from the current sample chunk accumulators (conf_sums). Keep in mind
that getbuf is *also* a receive routine for the pseudo part of channels that
are in the REALANDPSEUDO conference mode. These samples are loaded into
the next sample chunk accumulators (conf_sums_next) to be processed as part
of the next sample chunk's data (next time around the world).
*/
enum dahdi_digit_mode {
DIGIT_MODE_DTMF,
DIGIT_MODE_MFR1,
@@ -8847,6 +8808,43 @@ static inline void dahdi_sync_tick(struct dahdi_span *const s)
#define dahdi_sync_tick(x) do { ; } while (0)
#endif
/**
* process_masterspan - Handle conferencing and timers.
*
* There are three sets of conference sum accumulators. One for the current
* sample chunk (conf_sums), one for the next sample chunk (conf_sums_next), and
* one for the previous sample chunk (conf_sums_prev). The following routine
* (rotate_sums) "rotates" the pointers to these accululator arrays as part
* of the events of sample chink processing as follows:
*
* 1. All (real span) receive chunks are processed (with putbuf). The last one
* to be processed is the master span. The data received is loaded into the
* accumulators for the next chunk (conf_sums_next), to be in alignment with
* current data after rotate_sums() is called (which immediately follows).
* Keep in mind that putbuf is *also* a transmit routine for the pseudo parts
* of channels that are in the REALANDPSEUDO conference mode. These channels
* are processed from data in the current sample chunk (conf_sums), being
* that this is a "transmit" function (for the pseudo part).
*
* 2. rotate_sums() is called.
*
* 3. All pseudo channel receive chunks are processed. This data is loaded into
* the current sample chunk accumulators (conf_sums).
*
* 4. All conference links are processed (being that all receive data for this
* chunk has already been processed by now).
*
* 5. All pseudo channel transmit chunks are processed. This data is loaded from
* the current sample chunk accumulators (conf_sums).
*
* 6. All (real span) transmit chunks are processed (with getbuf). This data is
* loaded from the current sample chunk accumulators (conf_sums). Keep in mind
* that getbuf is *also* a receive routine for the pseudo part of channels that
* are in the REALANDPSEUDO conference mode. These samples are loaded into
* the next sample chunk accumulators (conf_sums_next) to be processed as part
* of the next sample chunk's data (next time around the world).
*
*/
static void process_masterspan(void)
{
unsigned long flags;