fec: Fix timer capture timing in fec_ptp_enable_pps()
commit 61d5e2a251fb20c2c5e998c3f1d52ed6d5360319 upstream.
Code reimplements functionality already in `fec_ptp_read()`,
but misses check for FEC_QUIRK_BUG_CAPTURE. Replace with function call.
Fixes: 28b5f058cf
("net: fec: ptp: fix convergence issue to support LinuxPTP stack")
Signed-off-by: Csókás Bence <csokas.bence@prolan.hu>
Link: https://lore.kernel.org/r/20220811101348.13755-1-csokas.bence@prolan.hu
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
668f38fb9a
commit
efae1735ff
@@ -136,11 +136,7 @@ static int fec_ptp_enable_pps(struct fec_enet_private *fep, uint enable)
|
|||||||
* NSEC_PER_SEC - ts.tv_nsec. Add the remaining nanoseconds
|
* NSEC_PER_SEC - ts.tv_nsec. Add the remaining nanoseconds
|
||||||
* to current timer would be next second.
|
* to current timer would be next second.
|
||||||
*/
|
*/
|
||||||
tempval = readl(fep->hwp + FEC_ATIME_CTRL);
|
tempval = fep->cc.read(&fep->cc);
|
||||||
tempval |= FEC_T_CTRL_CAPTURE;
|
|
||||||
writel(tempval, fep->hwp + FEC_ATIME_CTRL);
|
|
||||||
|
|
||||||
tempval = readl(fep->hwp + FEC_ATIME);
|
|
||||||
/* Convert the ptp local counter to 1588 timestamp */
|
/* Convert the ptp local counter to 1588 timestamp */
|
||||||
ns = timecounter_cyc2time(&fep->tc, tempval);
|
ns = timecounter_cyc2time(&fep->tc, tempval);
|
||||||
ts = ns_to_timespec64(ns);
|
ts = ns_to_timespec64(ns);
|
||||||
|
Reference in New Issue
Block a user