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

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

The GDM RX FC 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 RX FC 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 GDM RX FC packet count statistics
in Ethernet driver will be incorrect, and it may lead to
the GDM monitor misjudging the status of QDMA.

[Release-log]
N/A


Change-Id: I320c6c11a920b47ff432f8e8794cbfa2c4dee18e
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/9411054
1 file changed
tree: e7da922c5fc278732bf6e1970b2bafae32b54463
  1. 21.02/
  2. autobuild/
  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)