linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Kicinski <kuba@kernel.org>
To: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: "David S. Miller" <davem@davemloft.net>, <netdev@vger.kernel.org>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Sekhar Nori <nsekhar@ti.com>, <linux-kernel@vger.kernel.org>,
	<linux-omap@vger.kernel.org>,
	Richard Cochran <richardcochran@gmail.com>
Subject: Re: [PATCH] net: ethernet: ti: cpsw: disable PTPv1 hw timestamping advertisement
Date: Sat, 31 Oct 2020 11:40:42 -0700	[thread overview]
Message-ID: <20201031114042.7ccdf507@kicinski-fedora-PC1C0HJN.hsd1.ca.comcast.net> (raw)
In-Reply-To: <20201029190910.30789-1-grygorii.strashko@ti.com>

On Thu, 29 Oct 2020 21:09:10 +0200 Grygorii Strashko wrote:
> The TI CPTS does not natively support PTPv1, only PTPv2. But, as it
> happens, the CPTS can provide HW timestamp for PTPv1 Sync messages, because
> CPTS HW parser looks for PTP messageType id in PTP message octet 0 which
> value is 0 for PTPv1. As result, CPTS HW can detect Sync messages for PTPv1
> and PTPv2 (Sync messageType = 0 for both), but it fails for any other PTPv1
> messages (Delay_req/resp) and will return PTP messageType id 0 for them.
> 
> The commit e9523a5a32a1 ("net: ethernet: ti: cpsw: enable
> HWTSTAMP_FILTER_PTP_V1_L4_EVENT filter") added PTPv1 hw timestamping
> advertisement by mistake, only to make Linux Kernel "timestamping" utility
> work, and this causes issues with only PTPv1 compatible HW/SW - Sync HW
> timestamped, but Delay_req/resp are not.
> 
> Hence, fix it disabling PTPv1 hw timestamping advertisement, so only PTPv1
> compatible HW/SW can properly roll back to SW timestamping.
> 
> Fixes: e9523a5a32a1 ("net: ethernet: ti: cpsw: enable HWTSTAMP_FILTER_PTP_V1_L4_EVENT filter")
> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>

CC: Richard

> diff --git a/drivers/net/ethernet/ti/cpsw_ethtool.c b/drivers/net/ethernet/ti/cpsw_ethtool.c
> index 4d02c5135611..4619c3a950b0 100644
> --- a/drivers/net/ethernet/ti/cpsw_ethtool.c
> +++ b/drivers/net/ethernet/ti/cpsw_ethtool.c
> @@ -728,7 +728,6 @@ int cpsw_get_ts_info(struct net_device *ndev, struct ethtool_ts_info *info)
>  		(1 << HWTSTAMP_TX_ON);
>  	info->rx_filters =
>  		(1 << HWTSTAMP_FILTER_NONE) |
> -		(1 << HWTSTAMP_FILTER_PTP_V1_L4_EVENT) |
>  		(1 << HWTSTAMP_FILTER_PTP_V2_EVENT);
>  	return 0;
>  }
> diff --git a/drivers/net/ethernet/ti/cpsw_priv.c b/drivers/net/ethernet/ti/cpsw_priv.c
> index 51cc29f39038..31c5e36ff706 100644
> --- a/drivers/net/ethernet/ti/cpsw_priv.c
> +++ b/drivers/net/ethernet/ti/cpsw_priv.c
> @@ -639,13 +639,10 @@ static int cpsw_hwtstamp_set(struct net_device *dev, struct ifreq *ifr)
>  		break;
>  	case HWTSTAMP_FILTER_ALL:
>  	case HWTSTAMP_FILTER_NTP_ALL:
> -		return -ERANGE;
>  	case HWTSTAMP_FILTER_PTP_V1_L4_EVENT:
>  	case HWTSTAMP_FILTER_PTP_V1_L4_SYNC:
>  	case HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ:
> -		priv->rx_ts_enabled = HWTSTAMP_FILTER_PTP_V1_L4_EVENT;
> -		cfg.rx_filter = HWTSTAMP_FILTER_PTP_V1_L4_EVENT;
> -		break;
> +		return -ERANGE;
>  	case HWTSTAMP_FILTER_PTP_V2_L4_EVENT:
>  	case HWTSTAMP_FILTER_PTP_V2_L4_SYNC:
>  	case HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ:


  reply	other threads:[~2020-10-31 18:40 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-29 19:09 [PATCH] net: ethernet: ti: cpsw: disable PTPv1 hw timestamping advertisement Grygorii Strashko
2020-10-31 18:40 ` Jakub Kicinski [this message]
2020-11-01  2:02   ` Richard Cochran
2020-11-02 22:20     ` Jakub Kicinski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201031114042.7ccdf507@kicinski-fedora-PC1C0HJN.hsd1.ca.comcast.net \
    --to=kuba@kernel.org \
    --cc=davem@davemloft.net \
    --cc=grygorii.strashko@ti.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nsekhar@ti.com \
    --cc=richardcochran@gmail.com \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).