From 8623ce6fb05fb5a69e0dfc7f6e95d5e3e83ca7d0 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 7 Jan 2009 23:14:39 +0800 Subject: [PATCH] --- yaml --- r: 127096 b: refs/heads/master c: c9e0020d49587b1b214d65256a88a2978329aefe h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/blackfin/kernel/bfin_dma_5xx.c | 16 +++++----------- .../arch/blackfin/mach-bf561/include/mach/dma.h | 3 +++ 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index 74a011c7bc5e..537fc64d6b7a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 51ed9ad7d239c7c10af088d1b7c5f3ee8d022f94 +refs/heads/master: c9e0020d49587b1b214d65256a88a2978329aefe diff --git a/trunk/arch/blackfin/kernel/bfin_dma_5xx.c b/trunk/arch/blackfin/kernel/bfin_dma_5xx.c index 1882fd82879b..36f78c1648b9 100644 --- a/trunk/arch/blackfin/kernel/bfin_dma_5xx.c +++ b/trunk/arch/blackfin/kernel/bfin_dma_5xx.c @@ -411,15 +411,14 @@ unsigned long get_dma_curr_addr(unsigned int channel) EXPORT_SYMBOL(get_dma_curr_addr); #ifdef CONFIG_PM +# ifndef MAX_DMA_SUSPEND_CHANNELS +# define MAX_DMA_SUSPEND_CHANNELS MAX_DMA_CHANNELS +# endif 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_DMA_CHANNELS; i++) { -#endif + for (i = 0; i < MAX_DMA_SUSPEND_CHANNELS; ++i) { if (dma_ch[i].chan_status == DMA_CHANNEL_ENABLED) { printk(KERN_ERR "DMA Channel %d failed to suspend\n", i); return -EBUSY; @@ -434,12 +433,7 @@ int blackfin_dma_suspend(void) 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_DMA_CHANNELS; i++) -#endif + for (i = 0; i < MAX_DMA_SUSPEND_CHANNELS; ++i) dma_ch[i].regs->peripheral_map = dma_ch[i].saved_peripheral_map; } #endif diff --git a/trunk/arch/blackfin/mach-bf561/include/mach/dma.h b/trunk/arch/blackfin/mach-bf561/include/mach/dma.h index 2597a09a012c..13647c71f1c7 100644 --- a/trunk/arch/blackfin/mach-bf561/include/mach/dma.h +++ b/trunk/arch/blackfin/mach-bf561/include/mach/dma.h @@ -10,6 +10,9 @@ #define MAX_DMA_CHANNELS 36 +/* [#4267] IMDMA channels have no PERIPHERAL_MAP MMR */ +#define MAX_DMA_SUSPEND_CHANNELS 32 + #define CH_PPI0 0 #define CH_PPI (CH_PPI0) #define CH_PPI1 1