[asterisk-dev] M9645: provide zaptel master timing to spans

Andrew Kohlsmith akohlsmith-asterisk at benshaw.com
Wed May 2 11:21:25 MST 2007


On Wednesday 02 May 2007 1:43 pm, Matthew Fredrickson wrote:
> Because if you're dealing with a DMA'd buffer, the data in the buffer
> could be in an inconsistent state.  For example, if you ran zt_receive
> on your buffer, and the data in the buffer hasn't changed yet, you get
> your old data twice, because your card's timing isn't in
> synchronization with the master card's timing.  The same thing happens
> with zt_transmit and transmit buffers.  You can potentially skip data
> if you update your transmit data before the card has transmitted the
> last data.

True, but would it not be possible to synchronize the DMA engine to an 
external clock source?

i.e. Span 1 on card 1 is the clock source.  all spans on card one are 
naturally synchronized to this source (no changes to current driver, this is 
how it is.)  spans on card 2, instead of just running free from the on-card 
timer, would get kicked whenever the handler that card 1 installed runs.
Cards 3 and 4 would operate exactly the same as card 2.

-A.


More information about the asterisk-dev mailing list