[PATCH net-next 0/2] dpll: add pin operational state

Ivan Vecera posted 2 patches 1 month, 2 weeks ago
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(-)
[PATCH net-next 0/2] dpll: add pin operational state
Posted by Ivan Vecera 1 month, 2 weeks ago
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