Message ID | 1434027090-26866-1-git-send-email-richardcochran@gmail.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On Thu, Jun 11, 2015 at 02:51:30PM +0200, Richard Cochran wrote:
> This patch fixes the issue by programming the registers correctly.
Please also consider this for stable.
Thanks,
Richard
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Reviewed-by: Jacob Keller <jacob.e.keller@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 <richardcochran@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 {
From: Richard Cochran <richardcochran@gmail.com> Date: Thu, 11 Jun 2015 14:53:10 +0200 > On Thu, Jun 11, 2015 at 02:51:30PM +0200, Richard Cochran wrote: >> This patch fixes the issue by programming the registers correctly. > > Please also consider this for stable. Jeff, do you want me to integrate this directly? -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, 2015-06-11 at 15:56 -0700, David Miller wrote: > From: Richard Cochran <richardcochran@gmail.com> > Date: Thu, 11 Jun 2015 14:53:10 +0200 > > > On Thu, Jun 11, 2015 at 02:51:30PM +0200, Richard Cochran wrote: > >> This patch fixes the issue by programming the registers correctly. > > > > Please also consider this for stable. > > Jeff, do you want me to integrate this directly? Yes please. I was just about to send email asking that.
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 <richardcochran@gmail.com> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Date: Thu, 11 Jun 2015 15:59:05 -0700 > 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 <richardcochran@gmail.com> > > Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Applied and queued up for -stable, thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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 {
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 <richardcochran@gmail.com> --- drivers/net/ethernet/intel/igb/igb_ptp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)