[PATCH net v4 0/5] dpll: zl3073x: fix output pin frequency, esync and sibling notifications
From: Ivan Vecera
Date: Fri Oct 09 2026 - 15:31:19 EST
This series fixes several issues in the zl3073x output pin handling:
1. Do not offer 0 Hz as a supported frequency, it leads to a division
by zero.
2. Reject output frequencies whose divisor is too small for the HW.
3. Update the eSync period and width when the output frequency changes.
4. Reject N-divided output frequencies that cannot be set exactly.
5. Notify the sibling pin when a shared output setting changes.
Changes since v3:
- New patch 1 to fix a division by zero reported by Sashiko.
- Patch 2: state that the check is necessary but not sufficient for
N-divided outputs.
- Patch 3: report the eSync frequency and pulse from the registers again
instead of a fixed 1 Hz / 25%; compute the pulse in 64 bits.
- Patch 4: keep the P-pin quotient in 64 bits and reject values above
U32_MAX; check esync_n_period < 2 first; fix comments and extack.
- Patch 5: fix the sibling lookup kernel-doc and the commit message.
Changes since v2:
- Added patches 2 and 4.
- Patch 3: simplify zl3073x_out_esync_is_enabled().
- Patch 5: add/remove pins from zldpll->pins around dpll_pin_register()/
dpll_pin_unregister() so a registered sibling is always found.
Changes since v1:
- Patch 3: pass the actual output carrier to zl3073x_out_esync_enable(),
drop a redundant "? true : false", fix a comment typo.
- Patch 5: commit message wording.
v3: https://lore.kernel.org/netdev/20261006153116.347497-1-ivecera@xxxxxxxxxx/
v2: https://lore.kernel.org/netdev/20261002074520.30048-1-ivecera@xxxxxxxxxx/
v1: https://lore.kernel.org/netdev/20261001080648.1424172-1-ivecera@xxxxxxxxxx/
Ivan Vecera (5):
dpll: zl3073x: do not offer 0 Hz as a supported pin frequency
dpll: zl3073x: reject output frequencies with too small divisor
dpll: zl3073x: make embedded sync follow the output carrier frequency
dpll: zl3073x: reject inexact frequencies for N-divided outputs
dpll: zl3073x: notify sibling pin when shared output config changes
drivers/dpll/zl3073x/dpll.c | 237 +++++++++++++++++++++++++++---------
drivers/dpll/zl3073x/out.h | 36 ++++++
drivers/dpll/zl3073x/prop.c | 56 +++++++--
3 files changed, 264 insertions(+), 65 deletions(-)
--
2.56.0