diff options
author | Michael Hennerich <michael.hennerich@analog.com> | 2008-07-26 18:28:03 +0800 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2008-07-26 18:28:03 +0800 |
commit | 377d43e7d07fc9a64eb162c6f70e6d1961604629 (patch) | |
tree | 7033535e851b60fe3e3d63bd3ed787c94f11bc27 /arch/blackfin | |
parent | b1b154e503a0e590eb9e189586783dc8750f910e (diff) | |
download | op-kernel-dev-377d43e7d07fc9a64eb162c6f70e6d1961604629.zip op-kernel-dev-377d43e7d07fc9a64eb162c6f70e6d1961604629.tar.gz |
Blackfin arch: fix bug - IMDMA is not type struct dma_register
TEMP Workaround - avoid access to PERIPHERAL_MAP
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin')
-rw-r--r-- | arch/blackfin/kernel/bfin_dma_5xx.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/blackfin/kernel/bfin_dma_5xx.c b/arch/blackfin/kernel/bfin_dma_5xx.c index ad0e758..93229b3 100644 --- a/arch/blackfin/kernel/bfin_dma_5xx.c +++ b/arch/blackfin/kernel/bfin_dma_5xx.c @@ -477,7 +477,11 @@ int blackfin_dma_suspend(void) { int i; +#ifdef CONFIG_BF561 /* IMDMA channels doesn't have a PERIPHERAL_MAP */ + for (i = 0; i <= CH_MEM_STREAM3_SRC; i++) { +#else for (i = 0; i < MAX_BLACKFIN_DMA_CHANNEL; i++) { +#endif if (dma_ch[i].chan_status == DMA_CHANNEL_ENABLED) { printk(KERN_ERR "DMA Channel %d failed to suspend\n", i); return -EBUSY; @@ -493,7 +497,11 @@ void blackfin_dma_resume(void) { int i; +#ifdef CONFIG_BF561 /* IMDMA channels doesn't have a PERIPHERAL_MAP */ + for (i = 0; i <= CH_MEM_STREAM3_SRC; i++) +#else for (i = 0; i < MAX_BLACKFIN_DMA_CHANNEL; i++) +#endif dma_ch[i].regs->peripheral_map = dma_ch[i].saved_peripheral_map; } #endif |