Reviewed-by: Jacob Keller <jacob.e.kel...@intel.com> 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 <richardcoch...@gmail.com> > --- > 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 {