lkml.org 
[lkml]   [2021]   [Oct]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 29/95] net: stmmac: Fix E2E delay mechanism
    Date
    From: Kurt Kanzenbach <kurt@linutronix.de>

    [ Upstream commit 3cb958027cb8b78d3ee639ce9af54c2ef1bf964f ]

    When utilizing End to End delay mechanism, the following error messages show up:

    |root@ehl1:~# ptp4l --tx_timestamp_timeout=50 -H -i eno2 -E -m
    |ptp4l[950.573]: selected /dev/ptp3 as PTP clock
    |ptp4l[950.586]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
    |ptp4l[950.586]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
    |ptp4l[952.879]: port 1: new foreign master 001395.fffe.4897b4-1
    |ptp4l[956.879]: selected best master clock 001395.fffe.4897b4
    |ptp4l[956.879]: port 1: assuming the grand master role
    |ptp4l[956.879]: port 1: LISTENING to GRAND_MASTER on RS_GRAND_MASTER
    |ptp4l[962.017]: port 1: received DELAY_REQ without timestamp
    |ptp4l[962.273]: port 1: received DELAY_REQ without timestamp
    |ptp4l[963.090]: port 1: received DELAY_REQ without timestamp

    Commit f2fb6b6275eb ("net: stmmac: enable timestamp snapshot for required PTP
    packets in dwmac v5.10a") already addresses this problem for the dwmac
    v5.10. However, same holds true for all dwmacs above version v4.10. Correct the
    check accordingly. Afterwards everything works as expected.

    Tested on Intel Atom(R) x6414RE Processor.

    Fixes: 14f347334bf2 ("net: stmmac: Correctly take timestamp for PTPv2")
    Fixes: f2fb6b6275eb ("net: stmmac: enable timestamp snapshot for required PTP packets in dwmac v5.10a")
    Suggested-by: Ong Boon Leong <boon.leong.ong@intel.com>
    Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
    index 6133b2fe8a78..0ac61e7ab43c 100644
    --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
    +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
    @@ -605,7 +605,7 @@ static int stmmac_hwtstamp_set(struct net_device *dev, struct ifreq *ifr)
    config.rx_filter = HWTSTAMP_FILTER_PTP_V2_EVENT;
    ptp_v2 = PTP_TCR_TSVER2ENA;
    snap_type_sel = PTP_TCR_SNAPTYPSEL_1;
    - if (priv->synopsys_id != DWMAC_CORE_5_10)
    + if (priv->synopsys_id < DWMAC_CORE_4_10)
    ts_event_en = PTP_TCR_TSEVNTENA;
    ptp_over_ipv4_udp = PTP_TCR_TSIPV4ENA;
    ptp_over_ipv6_udp = PTP_TCR_TSIPV6ENA;
    --
    2.33.0


    \
     
     \ /
      Last update: 2021-10-25 21:40    [W:4.026 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site