873dbed817a8a00188f66c56ea5a7b8f4ba1707c
[openwrt/staging/wigyori.git] / target / linux / mediatek / patches-4.19 / 0002-eth-fix-dsa-support.patch
1 diff -urN a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
2 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c 2019-12-23 11:42:02.728620670 +0800
3 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c 2019-12-23 11:42:48.747289058 +0800
4 @@ -999,11 +999,6 @@
5 if (!(trxd.rxd2 & RX_DMA_DONE))
6 break;
7
8 - /* find out which mac the packet come from. values start at 1 */
9 -#if defined(CONFIG_NET_DSA)
10 - mac = (trxd.rxd4 >> 22) & 0x1;
11 - mac = (mac + 1) % 2;
12 -#else
13 mac = (trxd.rxd4 >> RX_DMA_FPORT_SHIFT) &
14 RX_DMA_FPORT_MASK;
15 /* From QDMA(5). This is a external interface case of HWNAT.
16 @@ -1017,7 +1012,7 @@
17 mac = 0;
18 else
19 mac--;
20 -#endif
21 +
22 if (unlikely(mac < 0 || mac >= MTK_MAC_COUNT ||
23 !eth->netdev[mac]))
24 goto release_desc;
25 @@ -2030,10 +2025,6 @@
26 /* Disable RX VLan Offloading */
27 mtk_w32(eth, 0, MTK_CDMP_EG_CTRL);
28
29 -#if defined(CONFIG_NET_DSA)
30 - mtk_w32(eth, 0x81000001, MTK_CDMP_IG_CTRL);
31 -#endif
32 -
33 mtk_w32(eth, 0x8f0f8f0f, MTK_PDMA_DELAY_INT);
34 mtk_w32(eth, 0x8f0f8f0f, MTK_QDMA_DELAY_INT);
35