]> git.ipfire.org Git - people/arne_f/kernel.git/commit
dmaengine: at_xdmac: double FIFO flush needed to compute residue
authorLudovic Desroches <ludovic.desroches@atmel.com>
Thu, 12 May 2016 14:54:10 +0000 (16:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Aug 2016 10:54:42 +0000 (12:54 +0200)
commitf883b9242712876e273bed6893932d70c00c0021
treef0d11b8e9951acd69d016093180a8269d62ba62a
parentd1a41160ee77efcee8d150138f442b5faae2e61f
dmaengine: at_xdmac: double FIFO flush needed to compute residue

commit 9295c41d77ca93aac79cfca6fa09fa1ca5cab66f upstream.

Due to the way CUBC register is updated, a double flush is needed to
compute an accurate residue. First flush aim is to get data from the DMA
FIFO and second one ensures that we won't report data which are not in
memory.

Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Fixes: e1f7c9eee707 ("dmaengine: at_xdmac: creation of the atmel
eXtended DMA Controller driver")
Reviewed-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/dma/at_xdmac.c