Subject: Re: [PATCH net] net: igb: fix the start time for periodic output signals

From: "Keller, Jacob E" <[email-masked]>
Date: Thu, 11 Jun 2015 17:05:59 +0000

Reviewed-by: Jacob Keller <[email-masked]>

Thanks Richard! Easy detail to miss.

Regards,
Jake

On Thu, 2015-06-11 at 14:51 +0200, Richard Cochran wrote:
> When programming the start of a periodic output, the code wrongly 
> places
> the seconds value into the "low" register and the nanoseconds into 
> the
> "high" register.  Even though this is backwards, it slipped through 
> my
> testing, because the re-arming code in the interrupt service routine 
> is
> correct, and the signal does appear starting with the second edge.
> 
> This patch fixes the issue by programming the registers correctly.
> 
> Signed-off-by: Richard Cochran <[email-masked]>
> ---
>  drivers/net/ethernet/intel/igb/igb_ptp.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/igb/igb_ptp.c 
> b/drivers/net/ethernet/intel/igb/igb_ptp.c
> index e3b9b63..c3a9392c 100644
> --- a/drivers/net/ethernet/intel/igb/igb_ptp.c
> +++ b/drivers/net/ethernet/intel/igb/igb_ptp.c
> @@ -538,8 +538,8 @@ static int igb_ptp_feature_enable_i210(struct 
> ptp_clock_info *ptp,
>                       igb->perout[i].start.tv_nsec = rq
> ->perout.start.nsec;
>                       igb->perout[i].period.tv_sec = ts.tv_sec;
>                       igb->perout[i].period.tv_nsec = ts.tv_nsec;
> -                     wr32(trgttiml, rq->perout.start.sec);
> -                     wr32(trgttimh, rq->perout.start.nsec);
> +                     wr32(trgttimh, rq->perout.start.sec);
> +                     wr32(trgttiml, rq->perout.start.nsec);
>                       tsauxc |= tsauxc_mask;
>                       tsim |= tsim_mask;
>               } else {