Peter Ujfalusi had written, on 10/01/2010 01:39 AM, the following:
[...]
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxxxxx>
---
arch/arm/plat-omap/dma.c | 35 +++++++++++++++++++++++++++++++-
arch/arm/plat-omap/include/plat/dma.h | 3 ++
2 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 7115884..590cb47 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -30,6 +30,7 @@
#include <linux/irq.h>
#include <linux/io.h>
#include <linux/slab.h>
+#include <linux/delay.h>
#include <asm/system.h>
#include <mach/hardware.h>
@@ -1018,8 +1019,38 @@ void omap_stop_dma(int lch)
dma_write(0, CICR(lch));
l = dma_read(CCR(lch));
- l &= ~OMAP_DMA_CCR_EN;
- dma_write(l, CCR(lch));
+ /* OMAP3 Errata: sDMA FIFO draining does not finish */
would be informative to give the iXYZ id as well for some of these
erratas might scale across processors.
+ if (cpu_is_omap34xx() && (l & OMAP_DMA_CCR_SEL_SRC_DST_SYNC)) {
does it make sense to use an dma_errata variable and populate it?
--
Regards,
Nishanth Menon
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html