RE: dmaengine: DMA_CTRL_ACK flag signification

From: Sosnowski, Maciej
Date: Tue Oct 07 2008 - 05:09:50 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/