Title: [4085] trunk: [#2424] set_bfin_dma_config shouldnt set SYNC/ RESTART by default - add argument / option
Revision
4085
Author
hennerich
Date
2008-01-10 01:48:09 -0600 (Thu, 10 Jan 2008)

Log Message

[#2424] set_bfin_dma_config shouldnt set SYNC/RESTART by default - add argument / option

Diffstat

 arch/blackfin/kernel/bfin_dma_5xx.c |    4 ++--
 drivers/char/bfin_ppi.c             |    3 ++-
 drivers/serial/bfin_5xx.c           |    6 ++++--
 drivers/video/bf537-lq035.c         |    7 ++++++-
 drivers/video/bf54x-lq043.c         |    3 ++-
 drivers/video/bfin-t350mcqb-fb.c    |    3 ++-
 include/asm-blackfin/dma.h          |    6 +++++-
 7 files changed, 23 insertions(+), 9 deletions(-)

Modified Paths

Diff

Modified: trunk/arch/blackfin/kernel/bfin_dma_5xx.c (4084 => 4085)


--- trunk/arch/blackfin/kernel/bfin_dma_5xx.c	2008-01-09 14:44:52 UTC (rev 4084)
+++ trunk/arch/blackfin/kernel/bfin_dma_5xx.c	2008-01-10 07:48:09 UTC (rev 4085)
@@ -339,13 +339,13 @@
 
 unsigned short
 set_bfin_dma_config(char direction, char flow_mode,
-		    char intr_mode, char dma_mode, char width)
+		    char intr_mode, char dma_mode, char width, char syncmode)
 {
 	unsigned short config;
 
 	config =
 	    ((direction << 1) | (width << 2) | (dma_mode << 4) |
-	     (intr_mode << 6) | (flow_mode << 12) | RESTART);
+	     (intr_mode << 6) | (flow_mode << 12) | (syncmode << 5));
 	return config;
 }
 EXPORT_SYMBOL(set_bfin_dma_config);

Modified: trunk/drivers/char/bfin_ppi.c (4084 => 4085)


--- trunk/drivers/char/bfin_ppi.c	2008-01-09 14:44:52 UTC (rev 4084)
+++ trunk/drivers/char/bfin_ppi.c	2008-01-10 07:48:09 UTC (rev 4085)
@@ -805,7 +805,8 @@
 					       DMAFLOW_STOP,	// no chained DMA operation
 					       INTR_ON_BUF,	// interrupt when whole transfer complete
 					       (pdev->numlines) ? DIMENSION_2D : DIMENSION_LINEAR,	// 2D or 1D
-					       DATA_SIZE_16);
+					       DATA_SIZE_16,
+					       DMA_SYNC_RESTART);
 	pr_debug("dma_config = 0x%04X\n", pdev->dma_config);
 	set_dma_config(CH_PPI, pdev->dma_config);
 	set_dma_start_addr(CH_PPI, (unsigned long)buf);

Modified: trunk/drivers/serial/bfin_5xx.c (4084 => 4085)


--- trunk/drivers/serial/bfin_5xx.c	2008-01-09 14:44:52 UTC (rev 4084)
+++ trunk/drivers/serial/bfin_5xx.c	2008-01-10 07:48:09 UTC (rev 4085)
@@ -421,7 +421,8 @@
 		set_bfin_dma_config(DIR_READ, DMA_FLOW_STOP,
 			INTR_ON_BUF,
 			DIMENSION_LINEAR,
-			DATA_SIZE_8));
+			DATA_SIZE_8,
+			DMA_SYNC_RESTART));
 	set_dma_start_addr(uart->tx_dma_channel, (unsigned long)(xmit->buf+xmit->tail));
 	set_dma_x_count(uart->tx_dma_channel, uart->tx_count);
 	set_dma_x_modify(uart->tx_dma_channel, 1);
@@ -669,7 +670,8 @@
 	set_dma_config(uart->rx_dma_channel,
 		set_bfin_dma_config(DIR_WRITE, DMA_FLOW_AUTO,
 				INTR_ON_ROW, DIMENSION_2D,
-				DATA_SIZE_8));
+				DATA_SIZE_8,
+				DMA_SYNC_RESTART));
 	set_dma_x_count(uart->rx_dma_channel, DMA_RX_XCOUNT);
 	set_dma_x_modify(uart->rx_dma_channel, 1);
 	set_dma_y_count(uart->rx_dma_channel, DMA_RX_YCOUNT);

Modified: trunk/drivers/video/bf537-lq035.c (4084 => 4085)


--- trunk/drivers/video/bf537-lq035.c	2008-01-09 14:44:52 UTC (rev 4084)
+++ trunk/drivers/video/bf537-lq035.c	2008-01-10 07:48:09 UTC (rev 4085)
@@ -387,7 +387,12 @@
 
 	} else {
 
-		set_dma_config(CH_PPI, set_bfin_dma_config(DIR_READ,DMA_FLOW_AUTO,INTR_DISABLE,DIMENSION_2D,DATA_SIZE_16));
+		set_dma_config(CH_PPI, set_bfin_dma_config(DIR_READ,
+				DMA_FLOW_AUTO,
+				INTR_DISABLE,
+				DIMENSION_2D,
+				DATA_SIZE_16,
+				DMA_NOSYNC_KEEP_DMA_BUF));
 		set_dma_x_count(CH_PPI, LCD_X_RES);
 		set_dma_x_modify(CH_PPI,LCD_BBP/8);
 		set_dma_y_count(CH_PPI, LCD_Y_RES+U_LINES);

Modified: trunk/drivers/video/bf54x-lq043.c (4084 => 4085)


--- trunk/drivers/video/bf54x-lq043.c	2008-01-09 14:44:52 UTC (rev 4084)
+++ trunk/drivers/video/bf54x-lq043.c	2008-01-10 07:48:09 UTC (rev 4085)
@@ -224,7 +224,8 @@
 	set_dma_config(CH_EPPI0,
 		       set_bfin_dma_config(DIR_READ, DMA_FLOW_AUTO,
 					   INTR_DISABLE, DIMENSION_2D,
-					   DATA_SIZE_32));
+					   DATA_SIZE_32,
+					   DMA_NOSYNC_KEEP_DMA_BUF));
 	set_dma_x_count(CH_EPPI0, (LCD_X_RES * LCD_BPP) / DMA_BUS_SIZE);
 	set_dma_x_modify(CH_EPPI0, DMA_BUS_SIZE / 8);
 	set_dma_y_count(CH_EPPI0, LCD_Y_RES);

Modified: trunk/drivers/video/bfin-t350mcqb-fb.c (4084 => 4085)


--- trunk/drivers/video/bfin-t350mcqb-fb.c	2008-01-09 14:44:52 UTC (rev 4084)
+++ trunk/drivers/video/bfin-t350mcqb-fb.c	2008-01-10 07:48:09 UTC (rev 4085)
@@ -171,7 +171,8 @@
 	set_dma_config(CH_PPI,
 		       set_bfin_dma_config(DIR_READ, DMA_FLOW_AUTO,
 					   INTR_DISABLE, DIMENSION_2D,
-					   DATA_SIZE_16));
+					   DATA_SIZE_16,
+					   DMA_NOSYNC_KEEP_DMA_BUF));
 	set_dma_x_count(CH_PPI, (LCD_X_RES * LCD_BPP) / DMA_BUS_SIZE);
 	set_dma_x_modify(CH_PPI, DMA_BUS_SIZE / 8);
 	set_dma_y_count(CH_PPI, V_LINES);

Modified: trunk/include/asm-blackfin/dma.h (4084 => 4085)


--- trunk/include/asm-blackfin/dma.h	2008-01-09 14:44:52 UTC (rev 4084)
+++ trunk/include/asm-blackfin/dma.h	2008-01-10 07:48:09 UTC (rev 4085)
@@ -76,6 +76,9 @@
 #define INTR_ON_BUF    2
 #define INTR_ON_ROW    3
 
+#define DMA_NOSYNC_KEEP_DMA_BUF	0
+#define DMA_SYNC_RESTART	1
+
 struct dmasg {
 	unsigned long next_desc_addr;
 	unsigned long start_addr;
@@ -157,7 +160,8 @@
 void set_dma_y_modify(unsigned int channel, short y_modify);
 void set_dma_config(unsigned int channel, unsigned short config);
 unsigned short set_bfin_dma_config(char direction, char flow_mode,
-				   char intr_mode, char dma_mode, char width);
+				   char intr_mode, char dma_mode, char width,
+				   char syncmode);
 void set_dma_curr_addr(unsigned int channel, unsigned long addr);
 
 /* get curr status for polling */
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
http://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to