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

Subsystems: intel ethernet drivers, networking drivers, the rest

STALE4071d

7 messages, 4 authors, 2015-06-11 · open the first message on its own page

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

From: Richard Cochran <richardcochran@gmail.com>
Date: 2015-06-11 12:51:35

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 {
-- 
2.1.4

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

From: Richard Cochran <richardcochran@gmail.com>
Date: 2015-06-11 12:53:15

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

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

From: "Keller, Jacob E" <jacob.e.keller@intel.com>
Date: 2015-06-11 17:06:02

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:
quoted hunk
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 {

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

From: David Miller <davem@davemloft.net>
Date: 2015-06-11 22:56:28

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:
quoted
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?

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

From: Jeff Kirsher <hidden>
Date: 2015-06-11 22:58:32

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
quoted
On Thu, Jun 11, 2015 at 02:51:30PM +0200, Richard Cochran wrote:
quoted
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.

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

From: Jeff Kirsher <hidden>
Date: 2015-06-11 22:59:07

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 <redacted>

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

From: David Miller <davem@davemloft.net>
Date: 2015-06-11 23:04:22

From: Jeff Kirsher <redacted>
Date: Thu, 11 Jun 2015 15:59:05 -0700
On Thu, 2015-06-11 at 14:51 +0200, Richard Cochran wrote:
quoted
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 <redacted>
Applied and queued up for -stable, thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help