diff options
author | Nikhil Gupta <nikhil.gupta@nxp.com> | 2023-01-20 02:10:34 +0530 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-01-20 18:20:38 -0800 |
commit | 24a7fffb2533bb44d4ec84bb824732a9c4882f15 (patch) | |
tree | 8ff5538f62c7458541978bb47a7f4d424a41337b /include/linux/fsl | |
parent | 5e64f59a3cc2c4cfba748b87f0761d865dec7924 (diff) |
ptp_qoriq: fix latency in ptp_qoriq_adjtime() operation
1588 driver loses about 1us in adjtime operation at PTP slave
This is because adjtime operation uses a slow non-atomic tmr_cnt_read()
followed by tmr_cnt_write() operation.
In the above sequence, since the timer counter operation keeps
incrementing, it leads to latency. The tmr_offset register
(which is added to TMR_CNT_H/L register giving the current time)
must be programmed with the delta nanoseconds.
Signed-off-by: Nikhil Gupta <nikhil.gupta@nxp.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Tested-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://lore.kernel.org/r/20230119204034.7969-1-nikhil.gupta@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/linux/fsl')
-rw-r--r-- | include/linux/fsl/ptp_qoriq.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/fsl/ptp_qoriq.h b/include/linux/fsl/ptp_qoriq.h index 01acebe37fab..b301bf7199d3 100644 --- a/include/linux/fsl/ptp_qoriq.h +++ b/include/linux/fsl/ptp_qoriq.h @@ -149,6 +149,7 @@ struct ptp_qoriq { struct device *dev; bool extts_fifo_support; bool fiper3_support; + bool etsec; int irq; int phc_index; u32 tclk_period; /* nanoseconds */ |