commit | be0978ba4a1f2a861e30b30596fa0b1637f91bd3 | [log] [tgz] |
---|---|---|
author | developer <developer@mediatek.com> | Fri Feb 14 10:46:46 2025 +0800 |
committer | developer <developer@mediatek.com> | Fri Feb 14 20:42:55 2025 +0800 |
tree | 006578ea5ddddea55ed1100ad2a7a95965a5b9d0 | |
parent | 57c5479417236244d170aff4681247faccb53546 [diff] |
[][kernel][mt7987][eth][Fix Tx timestamp abnormal issue with the IEEE1588v2 during GMAC congestion] [Description] Fix Tx timestamp abnormal issue with the IEEE1588v2 during GMAC congestion. In the original process, the PTP driver reports the hardware timestamp to ptp4l when QDMA transmit PTP packet successfully. However, at that time, if there is network congestion, the GMAC may not transmit this packet to the network. Consequently, the hardware timestamp will remain unchanged. Ultimately, this leads to the PTP driver reporting an incorrect hardware Tx timestamp back to ptp4l. To resolve this error scenario, we introduce a PTP tx work to wait for GMAC Tx completion, which avoids blocking CPU in the napi_tx process. Without this patch, the ptp4l might receive an incorrect hardware Tx timestamp. [Release-log] N/A Change-Id: Ibdcbcb38ab6e7f1e2c5ee5a78393fd72d653daf0 Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/10259222
Currently two release branches are supported:
21.02 This is the current in-use branch
git clone -b openwrt-21.02 https://git.openwrt.org/openwrt/openwrt.git
master (will be 24.0x branch later) The next version in development
git clone https://git.openwrt.org/openwrt/openwrt.git
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
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
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
make menuconfig
21.02 branch
Target System -> MediaTek Ralink ARM Subtarget -> MT7981 / MT7986 / MT7988 Target Profile -> select as needed
master branch
Target System -> MediaTek Ralink ARM Subtarget -> Filogic 8x0 (MT798x) Target Profile -> select as needed
make V=s -j$(nproc)
#Get Openwrt 21.02 source code from Git server git clone --branch openwrt-21.02 https://git.openwrt.org/openwrt/openwrt.git #Get Openwrt master source code from Git Server git clone --branch master https://git.openwrt.org/openwrt/openwrt.git mac80211_package #Get mtk-openwrt-feeds source code git clone --branch master https://git01.mediatek.com/openwrt/feeds/mtk-openwrt-feeds #Change to openwrt folder cp -rf mtk-openwrt-feeds/autobuild/autobuild_5.4_mac80211_release openwrt cd openwrt; mv autobuild_5.4_mac80211_release autobuild #Add MTK feed echo "src-git mtk_openwrt_feed https://git01.mediatek.com/openwrt/feeds/mtk-openwrt-feeds" >> feeds.conf.default #Build MT7987 (Only for the 1st build) bash autobuild/mt7987-npu/lede-branch-build-sanity.sh #Further Build (After 1st full build) ./scripts/feeds update -a make V=s PKG_HASH=skip PKG_MIRROR_HASH=skip