Title: [5797] trunk/arch/blackfin: push bf561 PERIPHERAL_MAP oddity into bf561-specific code
- Revision
- 5797
- Author
- vapier
- Date
- 2008-12-03 14:34:19 -0600 (Wed, 03 Dec 2008)
Log Message
push bf561 PERIPHERAL_MAP oddity into bf561-specific code
Modified Paths
Diff
Modified: trunk/arch/blackfin/kernel/bfin_dma_5xx.c (5796 => 5797)
--- trunk/arch/blackfin/kernel/bfin_dma_5xx.c 2008-12-03 15:42:17 UTC (rev 5796)
+++ trunk/arch/blackfin/kernel/bfin_dma_5xx.c 2008-12-03 20:34:19 UTC (rev 5797)
@@ -411,15 +411,14 @@
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 @@
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
Modified: trunk/arch/blackfin/mach-bf561/include/mach/dma.h (5796 => 5797)
--- trunk/arch/blackfin/mach-bf561/include/mach/dma.h 2008-12-03 15:42:17 UTC (rev 5796)
+++ trunk/arch/blackfin/mach-bf561/include/mach/dma.h 2008-12-03 20:34:19 UTC (rev 5797)
@@ -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
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
http://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits