Title: [6058] branches/2008R1/drivers/mtd/nand/bf5xx_nand.c: bug[4833]The DMAs have different size on BF52x and BF54x
- Revision
- 6058
- Author
- cliff
- Date
- 2009-02-04 04:41:04 -0600 (Wed, 04 Feb 2009)
Log Message
bug[4833]The DMAs have different size on BF52x and BF54x
Modified Paths
Diff
Modified: branches/2008R1/drivers/mtd/nand/bf5xx_nand.c (6057 => 6058)
--- branches/2008R1/drivers/mtd/nand/bf5xx_nand.c 2009-02-04 10:31:15 UTC (rev 6057)
+++ branches/2008R1/drivers/mtd/nand/bf5xx_nand.c 2009-02-04 10:41:04 UTC (rev 6058)
@@ -493,14 +493,20 @@
disable_dma(CH_NFC);
clear_dma_irqstat(CH_NFC);
- /* setup DMA register with Blackfin DMA API */
- set_dma_config(CH_NFC, 0x0);
- set_dma_start_addr(CH_NFC, (unsigned long) buf);
+/* The DMAs have different size on BF52x and BF54x */
+#ifdef CONFIG_BF52x
+ set_dma_x_count(CH_NFC, (page_size >> 1));
+ set_dma_x_modify(CH_NFC, 2);
+ val = DI_EN | WDSIZE_16;
+#endif
+
+#ifdef CONFIG_BF54x
set_dma_x_count(CH_NFC, (page_size >> 2));
set_dma_x_modify(CH_NFC, 4);
+ val = DI_EN | WDSIZE_32;
+#endif
/* setup write or read operation */
- val = DI_EN | WDSIZE_32;
if (is_read)
val |= WNR;
set_dma_config(CH_NFC, val);
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
http://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits