diff options
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0103-sdk_dpaa-fix-hardware-timestamp-value.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/701-net-0103-sdk_dpaa-fix-hardware-timestamp-value.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0103-sdk_dpaa-fix-hardware-timestamp-value.patch b/target/linux/layerscape/patches-5.4/701-net-0103-sdk_dpaa-fix-hardware-timestamp-value.patch new file mode 100644 index 0000000000..e219c39739 --- /dev/null +++ b/target/linux/layerscape/patches-5.4/701-net-0103-sdk_dpaa-fix-hardware-timestamp-value.patch @@ -0,0 +1,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, |