Messages in this thread | | | Subject | RE: dmaengine: DMA_CTRL_ACK flag signification | Date | Tue, 7 Oct 2008 10:09:31 +0100 | From | "Sosnowski, Maciej" <> |
| |
Nicolas Ferre wrote: > Hi all, > > I am in the process of writing a driver for an on-chip Atmel DMA > engine. > > I am a little confused about the use of the flag DMA_CTRL_ACK : It > seems that it is set in most of the descriptors in use except the > first or last of a descriptor chain. So, I cannot find where this > flag is cleared. In short, I do not see what it is used for : how > must I take it into account in my driver (in device_prep_dma_memcpy() > for instance) ? > > Can you enlighten me ? > > Regards,
Hi Nicolas,
Sorry for the delay in response. Generally the idea behind DMA_CTRL_ACK is to let an application safely set a chain of dependent operations. What a DMA driver needs to do is to check if a given descriptor has been already acked (using async_tx_test_ack()) before it recycles or releases it. You are right that there is no place where DMA_CTRL_ACK is cleared at the moment. I would say it is the offload engine driver responsibility to clear the flag when it recycles the descriptor. Dan, could you confirm?
Regards, Maciej
| |