diff options
author | Michael Hennerich <michael.hennerich@analog.com> | 2010-06-16 09:12:10 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-08-06 12:55:50 -0400 |
commit | d1401e1dc22606a91f577ad3dfd68ae7e60e0357 (patch) | |
tree | 6c59463c60fd4ada2b5d4974afaa30be7059c67f /arch/blackfin/include/asm/dma.h | |
parent | 502c8a0e07450ff886b80a11150a123bae92f3f7 (diff) | |
download | op-kernel-dev-d1401e1dc22606a91f577ad3dfd68ae7e60e0357.zip op-kernel-dev-d1401e1dc22606a91f577ad3dfd68ae7e60e0357.tar.gz |
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/asm/dma.h')
-rw-r--r-- | arch/blackfin/include/asm/dma.h | 1 |
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); |