[][HIGH][kernel][common][eth][Fix the GDM TX/RX packet statistics error issue]

[Description]
Fix the GDM TX/RX packet statistics error issue.

The GDM TX/RX hardware counter is designed to clear data
after reading, so the statistical values are reset to
zero once they are read.

We have found that both the GDM TX/RX packet statistics
function and the GDM monitoring function access the
hardware counter, which leads to data contention and
results in incorrect statistical values. There must be
only one single place to read the hardware counter.

Without this patch, the packet count statistics for GDM
TX/RX in the Ethernet driver will be incorrect, and the
packet count statistics seen using the ifconfig command
will also be incorrect.

[Release-log]
N/A


Change-Id: I74f28534647077c86ad0b9b38eca947b316d0301
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/9279271
1 file changed
tree: 786e0916204966eedea79bcdfc34eacd19ea2b8a
  1. 21.02/
  2. autobuild_mac80211_release/
  3. feed/
  4. master/
  5. scripts/
  6. tools/
  7. .checkpatch.conf
  8. .clang-format
  9. .gitignore
  10. prepare_sdk.sh
  11. Readme.md
Readme.md

Brief introduction for using MediaTek released OpenWrt SDK

1. Build system setup

2. Clone vanilla OpenWrt

Currently two release branches are supported:

  1. 21.02 This is the current in-use branch

    git clone -b openwrt-21.02 https://git.openwrt.org/openwrt/openwrt.git
    
  2. master (will be 24.0x branch later) The next version in development

    git clone https://git.openwrt.org/openwrt/openwrt.git
    

3. Add MediaTek OpenWrt feed

cd openwrt
echo "src-git mtk_openwrt_feed https://git01.mediatek.com/openwrt/feeds/mtk-openwrt-feeds" >> feeds.conf.default
./scripts/feeds update -a
./scripts/feeds install -a

4. Apply MediaTek OpenWrt files and patches

  1. 21.02 branch

    cp -af ./feeds/mtk_openwrt_feed/21.02/files/* .
    cp -af ./feeds/mtk_openwrt_feed/tools .
    for file in $(find ./feeds/mtk_openwrt_feed/21.02/patches-base -name "*.patch" | sort); do patch -f -p1 -i ${file}; done
    for file in $(find ./feeds/mtk_openwrt_feed/21.02/patches-feeds -name "*.patch" | sort); do patch -f -p1 -i ${file}; done
    
  2. master branch

    cp -af ./feeds/mtk_openwrt_feed/master/files/* .
    for file in $(find ./feeds/mtk_openwrt_feed/master/patches-base -name "*.patch" | sort); do patch -f -p1 -i ${file}; done
    

5. Configuration

make menuconfig
  1. 21.02 branch

    Target System -> MediaTek Ralink ARM
    Subtarget -> MT7981 / MT7986 / MT7988
    Target Profile -> select as needed
    
  2. master branch

    Target System -> MediaTek Ralink ARM
    Subtarget -> Filogic 8x0 (MT798x)
    Target Profile -> select as needed
    

6. Build

make V=s -j$(nproc)