]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-4.19/net-ethernet-mediatek-use-net_ip_align-to-judge-if-h.patch
fixes for 4.19
[thirdparty/kernel/stable-queue.git] / queue-4.19 / net-ethernet-mediatek-use-net_ip_align-to-judge-if-h.patch
1 From 2f2df67bbf6947dc8076672492f0ece7935929d5 Mon Sep 17 00:00:00 2001
2 From: Sean Wang <sean.wang@mediatek.com>
3 Date: Sat, 1 Jun 2019 08:16:27 +0800
4 Subject: net: ethernet: mediatek: Use NET_IP_ALIGN to judge if HW
5 RX_2BYTE_OFFSET is enabled
6
7 [ Upstream commit 880c2d4b2fdfd580ebcd6bb7240a8027a1d34751 ]
8
9 Should only enable HW RX_2BYTE_OFFSET function in the case NET_IP_ALIGN
10 equals to 2.
11
12 Signed-off-by: Mark Lee <mark-mc.lee@mediatek.com>
13 Signed-off-by: Sean Wang <sean.wang@mediatek.com>
14 Signed-off-by: David S. Miller <davem@davemloft.net>
15 Signed-off-by: Sasha Levin <sashal@kernel.org>
16 ---
17 drivers/net/ethernet/mediatek/mtk_eth_soc.c | 3 ++-
18 1 file changed, 2 insertions(+), 1 deletion(-)
19
20 diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
21 index 0c70fb345f83..1d55f014725e 100644
22 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
23 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
24 @@ -1784,6 +1784,7 @@ static void mtk_poll_controller(struct net_device *dev)
25
26 static int mtk_start_dma(struct mtk_eth *eth)
27 {
28 + u32 rx_2b_offset = (NET_IP_ALIGN == 2) ? MTK_RX_2B_OFFSET : 0;
29 int err;
30
31 err = mtk_dma_init(eth);
32 @@ -1800,7 +1801,7 @@ static int mtk_start_dma(struct mtk_eth *eth)
33 MTK_QDMA_GLO_CFG);
34
35 mtk_w32(eth,
36 - MTK_RX_DMA_EN | MTK_RX_2B_OFFSET |
37 + MTK_RX_DMA_EN | rx_2b_offset |
38 MTK_RX_BT_32DWORDS | MTK_MULTI_EN,
39 MTK_PDMA_GLO_CFG);
40
41 --
42 2.20.1
43