Driver Development Kit (DDK)

cancel
Showing results for 
Search instead for 
Did you mean: 

XSeries: DMA losing Data in Interrupts?

Hello again,

 

as I already said last week, I've got the interrupts working.

 

The problem is that I seem to only see new data on every other interrupt. On very second interrupt I receive, the TTCS_LSW is 0, and the dma->read() returns the same data as in the previous call.

 

There's a trace file attached. What am I missing?

 

Best regards,

 

Philip

0 Kudos
Message 1 of 2
(6,559 Views)

Hello,

 

It looks like you are trying to use the Total Transfer Count interrupt to stop DMA long enough to transfer the DMA buffer to your local buffer. Is there another purpose to this procedure?

 

In the DDK example 3, we use _streamCircuit.StreamAdditiveTransferCountReg to stop the subsystem. This method would prevent the DMA from overwriting your dma buffer.

 

I hope this helps,

Steven T.

0 Kudos
Message 2 of 2
(6,531 Views)