Message ID | 20190521093646.21836-1-peter.ujfalusi@ti.com (mailing list archive) |
---|---|
Headers | show |
Series | dmaengine: ti: edma: Polled completion support | expand |
Vinod, On 21/05/2019 12.36, Peter Ujfalusi wrote: > Hi, > > Changes since v2: > - Fix typo in the comment for patch 0 > > Changes since v1: > - Cleanup patch for the array register handling > - typo fixed in patch2 commit message > > The code around the array register access was pretty confusing for the first > look, so clean them up first then use the cleaner way in the polled handling. > > When a DMA client driver decides that it is not providing callback for > completion of a transfer (and/or does not set the DMA_PREP_INTERRUPT) but > it will poll the status of the transfer (in case of short memcpy for > example) we will not get interrupt for the completion of the transfer and > will not mark the transaction as done. > > Check the event registers (ER and EER) and if the channel is inactive then > return wioth DMA_COMPLETE to let the client know that the transfer is > completed. Please do not pick this up yet, I got report that it might cause side effect which I need to debug to understand. > > Regards, > Peter > --- > Peter Ujfalusi (2): > dmaengine: ti: edma: Clean up the 2x32bit array register accesses > dmaengine: ti: edma: Enable support for polled (memcpy) completion > > drivers/dma/ti/edma.c | 129 ++++++++++++++++++++++++++---------------- > 1 file changed, 81 insertions(+), 48 deletions(-) > - Péter Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
On 23-05-19, 13:57, Peter Ujfalusi wrote: > Vinod, > > On 21/05/2019 12.36, Peter Ujfalusi wrote: > > Hi, > > > > Changes since v2: > > - Fix typo in the comment for patch 0 > > > > Changes since v1: > > - Cleanup patch for the array register handling > > - typo fixed in patch2 commit message > > > > The code around the array register access was pretty confusing for the first > > look, so clean them up first then use the cleaner way in the polled handling. > > > > When a DMA client driver decides that it is not providing callback for > > completion of a transfer (and/or does not set the DMA_PREP_INTERRUPT) but > > it will poll the status of the transfer (in case of short memcpy for > > example) we will not get interrupt for the completion of the transfer and > > will not mark the transaction as done. > > > > Check the event registers (ER and EER) and if the channel is inactive then > > return wioth DMA_COMPLETE to let the client know that the transfer is > > completed. > > Please do not pick this up yet, I got report that it might cause side > effect which I need to debug to understand. OK dropped for queue