[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7F38996F7185A24AB9071ED4950AD8C102121A73@swsmsx413.ger.corp.intel.com>
Date: Tue, 7 Oct 2008 10:09:31 +0100
From: "Sosnowski, Maciej" <maciej.sosnowski@...el.com>
To: "Nicolas Ferre" <nicolas.ferre@...el.com>,
"Williams, Dan J" <dan.j.williams@...el.com>,
"Linux Kernel list" <linux-kernel@...r.kernel.org>
Cc: "Haavard Skinnemoen" <hskinnemoen@...el.com>
Subject: RE: dmaengine: DMA_CTRL_ACK flag signification
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists