aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/701-net-0103-sdk_dpaa-fix-hardware-timestamp-value.patch
blob: e219c39739a32f9ab5d01619c591022266b6fb75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
From c96c65930fb5a348d96b88f4edeea1ddf8229c28 Mon Sep 17 00:00:00 2001
From: Yangbo Lu <yangbo.lu@nxp.com>
Date: Thu, 1 Nov 2018 15:34:17 +0800
Subject: [PATCH] sdk_dpaa: fix hardware timestamp value

The hardware timestamp value got didn't need to be multiplied
by nominal frequency since ptp_qoriq driver initialized the
counter to add clock period, not the clock tick.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
---
 drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_common.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

--- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_common.c
+++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_common.c
@@ -306,7 +306,7 @@ EXPORT_SYMBOL(dpa_fix_features);
 u64 dpa_get_timestamp_ns(const struct dpa_priv_s *priv, enum port_type rx_tx,
 			const void *data)
 {
-	u64 *ts, ns;
+	u64 *ts;
 
 	ts = fm_port_get_buffer_time_stamp(priv->mac_dev->port_dev[rx_tx],
 					   data);
@@ -316,10 +316,7 @@ u64 dpa_get_timestamp_ns(const struct dp
 
 	be64_to_cpus(ts);
 
-	/* multiple DPA_PTP_NOMINAL_FREQ_PERIOD_NS for case of non power of 2 */
-	ns = *ts << DPA_PTP_NOMINAL_FREQ_PERIOD_SHIFT;
-
-	return ns;
+	return *ts;
 }
 
 int dpa_get_ts(const struct dpa_priv_s *priv, enum port_type rx_tx,