[PATCH net-next 0/2] dpll: add pin operational state
From: Ivan Vecera
Date: Tue Apr 28 2026 - 11:50:13 EST
Add pin operational state (operstate) to the DPLL subsystem to
separate administrative intent from actual hardware status.
Currently pin-state mixes what the user requested (connected,
selectable, disconnected) with what the hardware is actually doing.
This makes it difficult to diagnose situations where a user sets
a pin as selectable or connected but the hardware cannot use it
due to signal issues.
The new operstate attribute is reported inside the pin-parent-device
nest alongside the existing state and is read-only. Defined values:
- active: pin is qualified and actively used by the DPLL
- standby: pin is qualified but not actively used by the DPLL
- no-signal: pin does not have a valid signal
- qual-failed: pin signal failed qualification checks
Patch 1 adds the operstate enum, netlink attribute and the
operstate_on_dpll_get callback to the DPLL subsystem. It also
updates Documentation/driver-api/dpll.rst to describe the
separation between admin state and operational state.
Patch 2 implements the callback for ZL3073x input pins using the
reference monitor status register. It also refactors the existing
state_on_dpll_get to return purely administrative state and switches
periodic monitoring to track operstate changes.
Ivan Vecera (2):
dpll: add pin operational state
dpll: zl3073x: implement pin operational state reporting
Documentation/driver-api/dpll.rst | 38 +++++----
Documentation/netlink/specs/dpll.yaml | 31 ++++++++
drivers/dpll/dpll_netlink.c | 27 +++++++
drivers/dpll/dpll_nl.c | 3 +-
drivers/dpll/dpll_nl.h | 2 +-
drivers/dpll/zl3073x/dpll.c | 108 +++++++++++++++++---------
drivers/dpll/zl3073x/regs.h | 9 ++-
include/linux/dpll.h | 6 ++
include/uapi/linux/dpll.h | 23 ++++++
9 files changed, 192 insertions(+), 55 deletions(-)
base-commit: 1f5ffc672165ff851063a5fd044b727ab2517ae3
--
2.53.0