873dbed817a8a00188f66c56ea5a7b8f4ba1707c
[oweals/openwrt.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