linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 net-next 0/7] ptp: ptp_clockmatrix: Fix output 1 PPS alignment.
@ 2021-02-17  5:42 vincent.cheng.xh
  2021-02-17  5:42 ` [PATCH v3 net-next 1/7] ptp: ptp_clockmatrix: Add wait_for_sys_apll_dpll_lock vincent.cheng.xh
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: vincent.cheng.xh @ 2021-02-17  5:42 UTC (permalink / raw)
  To: richardcochran; +Cc: netdev, linux-kernel, Vincent Cheng

From: Vincent Cheng <vincent.cheng.xh@renesas.com>

This series fixes a race condition that may result in the output clock
not aligned to internal 1 PPS clock.

Part of device initialization is to align the rising edge of output
clocks to the internal rising edge of the 1 PPS clock.  If the system
APLL and DPLL are not locked when this alignment occurs, the alignment
fails and a fixed offset between the internal 1 PPS clock and the
output clock occurs.

If a clock is dynamically enabled after power-up, the output clock
also needs to be aligned to the internal 1 PPS clock.

v3:
Suggested by: Jakub Kicinski <kuba@kernel.org>
- Remove unnecessary 'err' variable
- Increase msleep()/loop accuracy by using jiffies in while()
- No empty lines between variables
- No empty lines between call and the if
- parenthesis around a == b are unnecessary
- Inconsistent \n usage in dev_()
- Remove unnecessary empty line
- Leave string format in place so static code checkers can
  validate arguments

v2:
Suggested by: Richard Cochran <richardcochran@gmail.com>
- Added const to "char * fmt"
- Break unrelated header change into separate patch

Vincent Cheng (7):
  ptp: ptp_clockmatrix: Add wait_for_sys_apll_dpll_lock.
  ptp: ptp_clockmatrix: Add alignment of 1 PPS to idtcm_perout_enable.
  ptp: ptp_clockmatrix: Remove unused header declarations.
  ptp: ptp_clockmatrix: Clean-up dev_*() messages.
  ptp: ptp_clockmatrix: Coding style - tighten vertical spacing.
  ptp: ptp_clockmatrix: Simplify code - remove unnecessary `err`
    variable.
  ptp: ptp_clockmatrix: clean-up - parenthesis around a == b are
    unnecessary

 drivers/ptp/idt8a340_reg.h    |  10 ++
 drivers/ptp/ptp_clockmatrix.c | 313 ++++++++++++++++++------------------------
 drivers/ptp/ptp_clockmatrix.h |  17 ++-
 3 files changed, 162 insertions(+), 178 deletions(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-02-17 22:01 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-17  5:42 [PATCH v3 net-next 0/7] ptp: ptp_clockmatrix: Fix output 1 PPS alignment vincent.cheng.xh
2021-02-17  5:42 ` [PATCH v3 net-next 1/7] ptp: ptp_clockmatrix: Add wait_for_sys_apll_dpll_lock vincent.cheng.xh
2021-02-17  5:42 ` [PATCH v3 net-next 2/7] ptp: ptp_clockmatrix: Add alignment of 1 PPS to idtcm_perout_enable vincent.cheng.xh
2021-02-17  5:42 ` [PATCH v3 net-next 3/7] ptp: ptp_clockmatrix: Remove unused header declarations vincent.cheng.xh
2021-02-17  5:42 ` [PATCH v3 net-next 4/7] ptp: ptp_clockmatrix: Clean-up dev_*() messages vincent.cheng.xh
2021-02-17  5:42 ` [PATCH v3 net-next 5/7] ptp: ptp_clockmatrix: Coding style - tighten vertical spacing vincent.cheng.xh
2021-02-17  5:42 ` [PATCH v3 net-next 6/7] ptp: ptp_clockmatrix: Simplify code - remove unnecessary `err` variable vincent.cheng.xh
2021-02-17  5:42 ` [PATCH v3 net-next 7/7] ptp: ptp_clockmatrix: clean-up - parenthesis around a == b are unnecessary vincent.cheng.xh
2021-02-17 22:00 ` [PATCH v3 net-next 0/7] ptp: ptp_clockmatrix: Fix output 1 PPS alignment patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).