40 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 5077ac38a86023124ebbe24cd1b7ecbd0f8edaff Mon Sep 17 00:00:00 2001
 | 
						|
From: John Crispin <john@phrozen.org>
 | 
						|
Date: Tue, 3 May 2016 03:06:59 +0200
 | 
						|
Subject: [PATCH 086/102] net-next: mediatek: add next data pointer coherency
 | 
						|
 protection
 | 
						|
 | 
						|
The QDMA engine can fail to update the register pointing to the next TX
 | 
						|
descriptor if this bit does not get set in the QDMA configuration register.
 | 
						|
Not setting this bit can result in invalid values inside the TX rings
 | 
						|
registers which will causes TX stalls.
 | 
						|
 | 
						|
Signed-off-by: Sean Wang <keyhaede@gmail.com>
 | 
						|
Signed-off-by: John Crispin <john@phrozen.org>
 | 
						|
---
 | 
						|
 drivers/net/ethernet/mediatek/mtk_eth_soc.c |    2 +-
 | 
						|
 drivers/net/ethernet/mediatek/mtk_eth_soc.h |    1 +
 | 
						|
 2 files changed, 2 insertions(+), 1 deletion(-)
 | 
						|
 | 
						|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 | 
						|
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 | 
						|
@@ -1292,7 +1292,7 @@ static int mtk_start_dma(struct mtk_eth
 | 
						|
 	mtk_w32(eth,
 | 
						|
 		MTK_TX_WB_DDONE | MTK_RX_DMA_EN | MTK_TX_DMA_EN |
 | 
						|
 		MTK_RX_2B_OFFSET | MTK_DMA_SIZE_16DWORDS |
 | 
						|
-		MTK_RX_BT_32DWORDS,
 | 
						|
+		MTK_RX_BT_32DWORDS | MTK_NDP_CO_PRO,
 | 
						|
 		MTK_QDMA_GLO_CFG);
 | 
						|
 
 | 
						|
 	return 0;
 | 
						|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
 | 
						|
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
 | 
						|
@@ -91,6 +91,7 @@
 | 
						|
 #define MTK_QDMA_GLO_CFG	0x1A04
 | 
						|
 #define MTK_RX_2B_OFFSET	BIT(31)
 | 
						|
 #define MTK_RX_BT_32DWORDS	(3 << 11)
 | 
						|
+#define MTK_NDP_CO_PRO		BIT(10)
 | 
						|
 #define MTK_TX_WB_DDONE		BIT(6)
 | 
						|
 #define MTK_DMA_SIZE_16DWORDS	(2 << 4)
 | 
						|
 #define MTK_RX_DMA_BUSY		BIT(3)
 |