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
7 [ Upstream commit 880c2d4b2fdfd580ebcd6bb7240a8027a1d34751 ]
9 Should only enable HW RX_2BYTE_OFFSET function in the case NET_IP_ALIGN
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>
17 drivers/net/ethernet/mediatek/mtk_eth_soc.c | 3 ++-
18 1 file changed, 2 insertions(+), 1 deletion(-)
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)
26 static int mtk_start_dma(struct mtk_eth *eth)
28 + u32 rx_2b_offset = (NET_IP_ALIGN == 2) ? MTK_RX_2B_OFFSET : 0;
31 err = mtk_dma_init(eth);
32 @@ -1800,7 +1801,7 @@ static int mtk_start_dma(struct mtk_eth *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,