Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1533631

Re: [PATCH 4/6] net: ethernet: ti: cpts: add ptp pps support

From Richard Cochran <richardcochran@gmail.com>
Newsgroups linux.kernel
Subject Re: [PATCH 4/6] net: ethernet: ti: cpts: add ptp pps support
Date 2016-11-30 23:20 +0100
Message-ID <sJlol-3uZ-7@gated-at.bofh.it> (permalink)
References <sIDdD-75-21@gated-at.bofh.it> <sIDdE-75-47@gated-at.bofh.it> <sJi78-1gR-15@gated-at.bofh.it> <sJjZf-2rP-19@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Wed, Nov 30, 2016 at 02:43:57PM -0600, Grygorii Strashko wrote:
> > In order to produce the PPS edge correctly, you would have to adjust
> > the comparison value whenever cc.mult changes, 
> 
> yes. And that is done in cpts_ptp_adjfreq()
> 	if (cpts->ts_comp_enabled)
> 		cpts->ts_comp_one_sec_cycs = cpts_cc_ns2cyc(cpts, NSEC_PER_SEC);
> 	^^^ re-calculate reload value for 
>  
> 	cpts_ts_comp_settime(cpts, ns);
> 	^^^ adjust the ts_comp

And it races with the pulse itself.  You forgot about this part:

> @@ -172,14 +232,31 @@ static int cpts_ptp_adjfreq(struct ptp_clock_info *ptp, s32 ppb)
>  	adj *= ppb;
>  	diff = div_u64(adj, 1000000000ULL);
>  
> +	mutex_lock(&cpts->ptp_clk_mutex);
> +
>  	spin_lock_irqsave(&cpts->lock, flags);
> +	if (cpts->ts_comp_enabled) {
> +		cpts_ts_comp_disable(cpts);

Sorry, but this is a train wreck.

> > but of course this is unworkable.
> > 
> 
> Sry, but this is questionable - code for pps comes from TI internal
> branches (SDK releases) where it survived for a pretty long time.

That doesn't mean the code is any good.  If you adjust at the right
moment, then no pulse occurs at all!

> I'm, of course, agree that without HW support for freq adjustment
> this PPS feature is not super precise and has some limitation,
> but that is what we agree to live with. 

I do NOT agree to live with this.  I am one who is going to have to
explain to the world why their beagle bone PPS sucks.
 
Thanks,
Richard

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/6] net: ethernet: ti: cpts: update and enable support on keystone 2 socs Grygorii Strashko <grygorii.strashko@ti.com> - 2016-11-29 00:10 +0100
  [PATCH 2/6] net: ethernet: ti: cpts: add support for ext rftclk selection Grygorii Strashko <grygorii.strashko@ti.com> - 2016-11-29 00:10 +0100
    Re: [PATCH 2/6] net: ethernet: ti: cpts: add support for ext rftclk  selection Richard Cochran <richardcochran@gmail.com> - 2016-11-30 11:00 +0100
      Re: [PATCH 2/6] net: ethernet: ti: cpts: add support for ext rftclk  selection Grygorii Strashko <grygorii.strashko@ti.com> - 2016-11-30 18:40 +0100
        Re: [PATCH 2/6] net: ethernet: ti: cpts: add support for ext rftclk  selection Grygorii Strashko <grygorii.strashko@ti.com> - 2016-12-06 20:50 +0100
          Re: [PATCH 2/6] net: ethernet: ti: cpts: add support for ext rftclk  selection Richard Cochran <richardcochran@gmail.com> - 2016-12-06 21:30 +0100
            Re: [PATCH 2/6] net: ethernet: ti: cpts: add support for ext rftclk  selection Grygorii Strashko <grygorii.strashko@ti.com> - 2016-12-06 21:50 +0100
          Re: [PATCH 2/6] net: ethernet: ti: cpts: add support for ext rftclk  selection Stephen Boyd <sboyd@codeaurora.org> - 2016-12-09 01:50 +0100
            Re: [PATCH 2/6] net: ethernet: ti: cpts: add support for ext rftclk  selection Grygorii Strashko <grygorii.strashko@ti.com> - 2016-12-10 00:40 +0100
    Re: [PATCH 2/6] net: ethernet: ti: cpts: add support for ext rftclk  selection Rob Herring <robh@kernel.org> - 2016-12-05 16:00 +0100
  [PATCH 4/6] net: ethernet: ti: cpts: add ptp pps support Grygorii Strashko <grygorii.strashko@ti.com> - 2016-11-29 00:10 +0100
    Re: [PATCH 4/6] net: ethernet: ti: cpts: add ptp pps support Richard Cochran <richardcochran@gmail.com> - 2016-11-30 11:10 +0100
      Re: [PATCH 4/6] net: ethernet: ti: cpts: add ptp pps support Richard Cochran <richardcochran@gmail.com> - 2016-12-06 19:10 +0100
        Re: [PATCH 4/6] net: ethernet: ti: cpts: add ptp pps support Grygorii Strashko <grygorii.strashko@ti.com> - 2016-12-06 23:40 +0100
    Re: [PATCH 4/6] net: ethernet: ti: cpts: add ptp pps support Jan Lübbe <jlu@pengutronix.de> - 2016-11-30 12:10 +0100
    Re: [PATCH 4/6] net: ethernet: ti: cpts: add ptp pps support Richard Cochran <richardcochran@gmail.com> - 2016-11-30 19:50 +0100
      Re: [PATCH 4/6] net: ethernet: ti: cpts: add ptp pps support Grygorii Strashko <grygorii.strashko@ti.com> - 2016-11-30 21:50 +0100
        Re: [PATCH 4/6] net: ethernet: ti: cpts: add ptp pps support Richard Cochran <richardcochran@gmail.com> - 2016-11-30 23:20 +0100
          Re: [PATCH 4/6] net: ethernet: ti: cpts: add ptp pps support Richard Cochran <richardcochran@gmail.com> - 2016-12-02 11:00 +0100
            Re: [PATCH 4/6] net: ethernet: ti: cpts: add ptp pps support Grygorii Strashko <grygorii.strashko@ti.com> - 2016-12-02 19:00 +0100
              Re: [PATCH 4/6] net: ethernet: ti: cpts: add ptp pps support Richard Cochran <richardcochran@gmail.com> - 2016-12-02 20:30 +0100
  [PATCH 1/6] net: ethernet: ti: netcp: add support of cpts Grygorii Strashko <grygorii.strashko@ti.com> - 2016-11-29 00:10 +0100
    Re: [PATCH 1/6] net: ethernet: ti: netcp: add support of cpts Richard Cochran <richardcochran@gmail.com> - 2016-11-30 10:50 +0100
      Re: [PATCH 1/6] net: ethernet: ti: netcp: add support of cpts Grygorii Strashko <grygorii.strashko@ti.com> - 2016-11-30 18:40 +0100
        Re: [PATCH 1/6] net: ethernet: ti: netcp: add support of cpts Richard Cochran <richardcochran@gmail.com> - 2016-11-30 19:30 +0100
    Re: [PATCH 1/6] net: ethernet: ti: netcp: add support of cpts Rob Herring <robh@kernel.org> - 2016-12-05 15:50 +0100
      Re: [PATCH 1/6] net: ethernet: ti: netcp: add support of cpts Grygorii Strashko <grygorii.strashko@ti.com> - 2016-12-05 19:30 +0100
        Re: [PATCH 1/6] net: ethernet: ti: netcp: add support of cpts Richard Cochran <richardcochran@gmail.com> - 2016-12-05 20:40 +0100

csiph-web