>From: Jiri Pirko <[email protected]>
>Sent: Thursday, May 8, 2025 4:26 PM
>
>Thu, May 08, 2025 at 02:21:26PM +0200, [email protected]
>wrote:
>>Add enum dpll_feature_state for control over features.
>>
>>Add dpll device level attribute:
>>DPLL_A_PHASE_OFFSET_MONITOR - to allow control over a phase offset monitor
>>feature. Attribute is present and shall return current state of a feature
>>(enum dpll_feature_state), if the device driver provides such capability,
>>otherwie attribute shall not be present.
>>
>>Reviewed-by: Aleksandr Loktionov <[email protected]>
>>Reviewed-by: Milena Olech <[email protected]>
>>Signed-off-by: Arkadiusz Kubalewski <[email protected]>
>>---
>>v3:
>>- replace feature flags and capabilities with per feature attribute
>>  approach,
>>- add dpll documentation for phase-offset-monitor feature.
>>---
>> Documentation/driver-api/dpll.rst     | 16 ++++++++++++++++
>> Documentation/netlink/specs/dpll.yaml | 24 ++++++++++++++++++++++++
>> drivers/dpll/dpll_nl.c                |  5 +++--
>> include/uapi/linux/dpll.h             | 12 ++++++++++++
>> 4 files changed, 55 insertions(+), 2 deletions(-)
>>
>>diff --git a/Documentation/driver-api/dpll.rst b/Documentation/driver-
>>api/dpll.rst
>>index e6855cd37e85..04efb425b411 100644
>>--- a/Documentation/driver-api/dpll.rst
>>+++ b/Documentation/driver-api/dpll.rst
>>@@ -214,6 +214,22 @@ offset values are fractional with 3-digit decimal
>>places and shell be
>> divided with ``DPLL_PIN_PHASE_OFFSET_DIVIDER`` to get integer part and
>> modulo divided to get fractional part.
>>
>>+Phase offset monitor
>>+====================
>>+
>>+Phase offset measurement is typically performed against the current
>>active
>>+source. However, some DPLL (Digital Phase-Locked Loop) devices may offer
>>+the capability to monitor phase offsets across all available inputs.
>>+The attribute and current feature state shall be included in the response
>>+message of the ``DPLL_CMD_DEVICE_GET`` command for supported DPLL
>devices.
>>+In such cases, users can also control the feature using the
>>+``DPLL_CMD_DEVICE_SET`` command by setting the ``enum
>>dpll_feature_state``
>>+values for the attribute.
>>+
>>+  =============================== ========================
>>+  ``DPLL_A_PHASE_OFFSET_MONITOR`` attr state of a feature
>>+  =============================== ========================
>>+
>> Embedded SYNC
>> =============
>>
>>diff --git a/Documentation/netlink/specs/dpll.yaml
>>b/Documentation/netlink/specs/dpll.yaml
>>index 8feefeae5376..e9774678b3f3 100644
>>--- a/Documentation/netlink/specs/dpll.yaml
>>+++ b/Documentation/netlink/specs/dpll.yaml
>>@@ -240,6 +240,20 @@ definitions:
>>       integer part of a measured phase offset value.
>>       Value of (DPLL_A_PHASE_OFFSET % DPLL_PHASE_OFFSET_DIVIDER) is a
>>       fractional part of a measured phase offset value.
>>+  -
>>+    type: enum
>>+    name: feature-state
>>+    doc: |
>>+      Allow control (enable/disable) and status checking over features.
>>+    entries:
>>+      -
>>+        name: disable
>>+        doc: |
>>+          feature shall be disabled
>>+      -
>>+        name: enable
>>+        doc: |
>>+          feature shall be enabled
>
>Is it necessary to introduce an enum for simple bool?
>I mean, we used to handle this by U8 attr with 0/1 value. Idk what's the
>usual way carry boolean values to do this these days, but enum looks
>like overkill.
>

Well, yeah.. tricky.. There is no bool type in the attribute types?
Input/output pin direction or eec/pps dpll types are also 2-value-enums
we use same way..

Had to use something as it is better then plain 0/1, also those values
could be reused for any other feature.

Thank you!
Arkadiusz
 
[...]

Reply via email to