kernel: pick patches for MediaTek Ethernet from linux-next
[openwrt/staging/dedeckeh.git] / target / linux / generic / backport-5.15 / 710-v6.0-net-ethernet-mtk_eth_soc-fix-hw-hash-reporting-for-M.patch
index 87941ef766a42cef5a7a59890aeab7889fa8227f..a3842d35f56e95ebc8408e3d4d1c1cabdb9f52e4 100644 (file)
@@ -18,9 +18,9 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -1469,10 +1469,19 @@ static int mtk_poll_rx(struct napi_struc
+@@ -1845,10 +1845,19 @@ static int mtk_poll_rx(struct napi_struc
                skb->dev = netdev;
-               skb_put(skb, pktlen);
+               bytes += skb->len;
  
 -              if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2))
 +              if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) {
@@ -40,9 +40,9 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  
                if (*rxdcsum & eth->soc->txrx.rx_dma_l4_valid)
                        skb->ip_summed = CHECKSUM_UNNECESSARY;
-@@ -1481,16 +1490,9 @@ static int mtk_poll_rx(struct napi_struc
+@@ -1856,16 +1865,9 @@ static int mtk_poll_rx(struct napi_struc
+                       skb_checksum_none_assert(skb);
                skb->protocol = eth_type_trans(skb, netdev);
-               bytes += pktlen;
  
 -              hash = trxd.rxd4 & MTK_RXD4_FOE_ENTRY;
 -              if (hash != MTK_RXD4_FOE_ENTRY) {
@@ -60,7 +60,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
                        if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) {
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
-@@ -307,6 +307,11 @@
+@@ -314,6 +314,11 @@
  #define RX_DMA_L4_VALID_PDMA  BIT(30)         /* when PDMA is used */
  #define RX_DMA_SPECIAL_TAG    BIT(22)