imx6: disable UART dma
Fixes these prints on boot:
[   13.785600] imx-uart 2020000.serial: DMA transaction error.
[   13.793134] imx-uart 2020000.serial: DMA transaction error.
[   13.798721] imx-uart 2020000.serial: DMA transaction error.
Based on following upstream patch by Tim Harvey (Gateworks):
80a01b6582
TX complete DMA messages are getting missed.
This is also currently an issue in mainline.
For now we will disable DMA in serial/imx.c.
This resolves an issue encountered with RS485 transmit.
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
			
			
This commit is contained in:
		
				
					committed by
					
						
						John Crispin
					
				
			
			
				
	
			
			
			
						parent
						
							acd8649b18
						
					
				
				
					commit
					3b4241071d
				
			
							
								
								
									
										23
									
								
								target/linux/imx6/patches-4.9/210-disable-uart-dma.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								target/linux/imx6/patches-4.9/210-disable-uart-dma.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
Based on following upstream patch by Tim Harvey (Gateworks):
 | 
			
		||||
 | 
			
		||||
https://github.com/Gateworks/openwrt/commit/80a01b6582f94c4547f39d3a25e0a1e9b6eb9877
 | 
			
		||||
 | 
			
		||||
TX complete DMA messages are getting missed.
 | 
			
		||||
This is also currently an issue in mainline.
 | 
			
		||||
For now we will disable DMA in serial/imx.c.
 | 
			
		||||
 | 
			
		||||
This resolves an issue encountered with RS485 transmit.
 | 
			
		||||
 | 
			
		||||
--- a/drivers/tty/serial/imx.c
 | 
			
		||||
+++ b/drivers/tty/serial/imx.c
 | 
			
		||||
@@ -1268,10 +1268,6 @@ static int imx_startup(struct uart_port
 | 
			
		||||
 
 | 
			
		||||
 	writel(temp & ~UCR4_DREN, sport->port.membase + UCR4);
 | 
			
		||||
 
 | 
			
		||||
-	/* Can we enable the DMA support? */
 | 
			
		||||
-	if (!uart_console(port) && !sport->dma_is_inited)
 | 
			
		||||
-		imx_uart_dma_init(sport);
 | 
			
		||||
-
 | 
			
		||||
 	spin_lock_irqsave(&sport->port.lock, flags);
 | 
			
		||||
 	/* Reset fifo's and state machines */
 | 
			
		||||
 	i = 100;
 | 
			
		||||
		Reference in New Issue
	
	Block a user