aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/include
diff options
context:
space:
mode:
authorMichael Hennerich <michael.hennerich@analog.com>2010-06-16 09:12:10 +0000
committerMike Frysinger <vapier@gentoo.org>2010-08-06 12:55:50 -0400
commitd1401e1dc22606a91f577ad3dfd68ae7e60e0357 (patch)
tree6c59463c60fd4ada2b5d4974afaa30be7059c67f /arch/blackfin/include
parent502c8a0e07450ff886b80a11150a123bae92f3f7 (diff)
downloadkernel_samsung_smdk4412-d1401e1dc22606a91f577ad3dfd68ae7e60e0357.zip
kernel_samsung_smdk4412-d1401e1dc22606a91f577ad3dfd68ae7e60e0357.tar.gz
kernel_samsung_smdk4412-d1401e1dc22606a91f577ad3dfd68ae7e60e0357.tar.bz2
Blackfin: fix DMA/cache bug when resuming from suspend to RAM
The dma_memcpy() function takes care of flushing different caches for us. Normally this is what we want, but when resuming from mem, we don't yet have caches enabled. If these functions happen to be placed into L1 mem (which is what we're trying to relocate), then things aren't going to work. So define a non-cache dma_memcpy() variant to utilize in situations like this. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch/blackfin/include')
-rw-r--r--arch/blackfin/include/asm/dma.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/blackfin/include/asm/dma.h b/arch/blackfin/include/asm/dma.h
index 2c09b1d..eedf3ca 100644
--- a/arch/blackfin/include/asm/dma.h
+++ b/arch/blackfin/include/asm/dma.h
@@ -276,6 +276,7 @@ static inline void clear_dma_irqstat(unsigned int channel)
}
void *dma_memcpy(void *dest, const void *src, size_t count);
+void *dma_memcpy_nocache(void *dest, const void *src, size_t count);
void *safe_dma_memcpy(void *dest, const void *src, size_t count);
void blackfin_dma_early_init(void);
void early_dma_memcpy(void *dest, const void *src, size_t count);