lkml.org 
[lkml]   [2018]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL for 4.9 023/293] stmmac: fix ptp header for GMAC3 hw timestamp
    Date
    From: Mario Molitor <mario_molitor@web.de>

    [ Upstream commit fd6720aefde06eacf17404eed2cad65c6ec103e1 ]

    According the CYCLON V documention only the bit 16 of snaptypesel should
    set.
    (more information see Table 17-20 (cv_5v4.pdf) :
    Timestamp Snapshot Dependency on Register Bits)

    Fixes: d2042052a0aa ("stmmac: update the PTP header file")
    Signed-off-by: Mario Molitor <mario_molitor@web.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    ---
    drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 15 ++++++++++++---
    drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.h | 3 ++-
    2 files changed, 14 insertions(+), 4 deletions(-)

    diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
    index 98bbb91336e4..c212d1dd8bfd 100644
    --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
    +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
    @@ -478,7 +478,10 @@ static int stmmac_hwtstamp_ioctl(struct net_device *dev, struct ifreq *ifr)
    /* PTP v1, UDP, any kind of event packet */
    config.rx_filter = HWTSTAMP_FILTER_PTP_V1_L4_EVENT;
    /* take time stamp for all event messages */
    - snap_type_sel = PTP_TCR_SNAPTYPSEL_1;
    + if (priv->plat->has_gmac4)
    + snap_type_sel = PTP_GMAC4_TCR_SNAPTYPSEL_1;
    + else
    + snap_type_sel = PTP_TCR_SNAPTYPSEL_1;

    ptp_over_ipv4_udp = PTP_TCR_TSIPV4ENA;
    ptp_over_ipv6_udp = PTP_TCR_TSIPV6ENA;
    @@ -510,7 +513,10 @@ static int stmmac_hwtstamp_ioctl(struct net_device *dev, struct ifreq *ifr)
    config.rx_filter = HWTSTAMP_FILTER_PTP_V2_L4_EVENT;
    ptp_v2 = PTP_TCR_TSVER2ENA;
    /* take time stamp for all event messages */
    - snap_type_sel = PTP_TCR_SNAPTYPSEL_1;
    + if (priv->plat->has_gmac4)
    + snap_type_sel = PTP_GMAC4_TCR_SNAPTYPSEL_1;
    + else
    + snap_type_sel = PTP_TCR_SNAPTYPSEL_1;

    ptp_over_ipv4_udp = PTP_TCR_TSIPV4ENA;
    ptp_over_ipv6_udp = PTP_TCR_TSIPV6ENA;
    @@ -544,7 +550,10 @@ static int stmmac_hwtstamp_ioctl(struct net_device *dev, struct ifreq *ifr)
    config.rx_filter = HWTSTAMP_FILTER_PTP_V2_EVENT;
    ptp_v2 = PTP_TCR_TSVER2ENA;
    /* take time stamp for all event messages */
    - snap_type_sel = PTP_TCR_SNAPTYPSEL_1;
    + if (priv->plat->has_gmac4)
    + snap_type_sel = PTP_GMAC4_TCR_SNAPTYPSEL_1;
    + else
    + snap_type_sel = PTP_TCR_SNAPTYPSEL_1;

    ptp_over_ipv4_udp = PTP_TCR_TSIPV4ENA;
    ptp_over_ipv6_udp = PTP_TCR_TSIPV6ENA;
    diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.h b/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.h
    index c06938c47af5..174777cd888e 100644
    --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.h
    +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.h
    @@ -63,7 +63,8 @@
    /* Enable Snapshot for Messages Relevant to Master */
    #define PTP_TCR_TSMSTRENA BIT(15)
    /* Select PTP packets for Taking Snapshots */
    -#define PTP_TCR_SNAPTYPSEL_1 GENMASK(17, 16)
    +#define PTP_TCR_SNAPTYPSEL_1 BIT(16)
    +#define PTP_GMAC4_TCR_SNAPTYPSEL_1 GENMASK(17, 16)
    /* Enable MAC address for PTP Frame Filtering */
    #define PTP_TCR_TSENMACADDR BIT(18)

    --
    2.15.1
    \
     
     \ /
      Last update: 2018-04-09 04:41    [W:4.048 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site