Re: DMA Engine Documentation: TX Descriptor and Submission

From: Vinod Koul
Date: Thu Jan 31 2019 - 23:19:23 EST


On 28-01-19, 09:47, Federico Vaga wrote:
> Hi,
>
> I have a new question concerning documentation.
>
> https://www.kernel.org/doc/html/latest/driver-api/dmaengine/client.html
>
> >From this document it is not really clear, at least to me, if clients can
> consider valid the `struct dma_async_tx_descriptor` after submission to the
> DMA engine.

Nope they can't and should not touch the descriptor after submission.
The client get cookie and that is supposed to be used
>
> Clients get a TX descriptor from a DMA engine using things like
> `dmaengine_prep_*`. These calls - may - allocate new descriptors and return
> them to the caller; this may include other structures which are not visible to
> clients. So, if my understanding is correct, this means that it's the DMA
> engine that, on TX completion, releases any TX descriptor allocated by
> `dmaengine_prep_*`. This implies that the pointer that the client is using
> must be considered invalid right after `dmaengine_submit()`.
> If what I understood by reading the documentation and the code is correct,
> then I think that this should be mentioned in the Documentation.
> If I'm wrong, please tell me where :)

And what exactly are you trying to do here..?

--
~Vinod