2021-10-27 18:30:59

by William Breathitt Gray

[permalink] [raw]
Subject: Re: [PATCH 4/8] docs: counter: add unit timer sysfs attributes

On Sat, Oct 16, 2021 at 08:33:39PM -0500, David Lechner wrote:
> This documents new unit timer sysfs attributes for the counter
> subsystem.
>
> Signed-off-by: David Lechner <[email protected]>

Hello David,

The unit timer is effectively a Count in its own right, so instead of
introducing new sysfs attributes you can just implement it as another
Count in the driver. Count 0 is "QPOSCNT", so set the name of this new
Count 1 as "Unit Timer" (or the datasheet naming if more apt) to
differentiate the Counts. You can then provide the "unit_timer_enable",
"unit_timer_period", and "unit_timer_time" functionalities as respective
Count 1 extensions ("enable" and "period") and Count 1 "count".

If you believe it appropriate, you can provide the raw timer ticks via
the Count 1 "count" while a nanoseconds interface is provided via a
Count 1 extension "timeout" (or something similar).

William Breathitt Gray

> ---
> Documentation/ABI/testing/sysfs-bus-counter | 24 +++++++++++++++++++++
> drivers/counter/ti-eqep.c | 2 +-
> 2 files changed, 25 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/ABI/testing/sysfs-bus-counter b/Documentation/ABI/testing/sysfs-bus-counter
> index 06c2b3e27e0b..37d960a8cb1b 100644
> --- a/Documentation/ABI/testing/sysfs-bus-counter
> +++ b/Documentation/ABI/testing/sysfs-bus-counter
> @@ -218,6 +218,9 @@ What: /sys/bus/counter/devices/counterX/signalY/cable_fault_enable_component_id
> What: /sys/bus/counter/devices/counterX/signalY/filter_clock_prescaler_component_id
> What: /sys/bus/counter/devices/counterX/signalY/index_polarity_component_id
> What: /sys/bus/counter/devices/counterX/signalY/synchronous_mode_component_id
> +What: /sys/bus/counter/devices/unit_timer_enable_component_id
> +What: /sys/bus/counter/devices/unit_timer_period_component_id
> +What: /sys/bus/counter/devices/unit_timer_time_component_id
> KernelVersion: 5.16
> Contact: [email protected]
> Description:
> @@ -345,3 +348,24 @@ Description:
> via index_polarity. The index function (as enabled via
> preset_enable) is performed synchronously with the
> quadrature clock on the active level of the index input.
> +
> +What: /sys/bus/counter/devices/unit_timer_enable
> +KernelVersion: 5.16
> +Contact: [email protected]
> +Description:
> + Read/write attribute that starts or stops the unit timer. Valid
> + values are boolean.
> +
> +What: /sys/bus/counter/devices/unit_timer_period
> +KernelVersion: 5.16
> +Contact: [email protected]
> +Description:
> + Read/write attribute that selects the unit timer timeout in
> + nanoseconds.
> +
> +What: /sys/bus/counter/devices/unit_timer_time
> +KernelVersion: 5.16
> +Contact: [email protected]
> +Description:
> + Read/write attribute that indicates the current time of the
> + unit timer in nanoseconds.
> diff --git a/drivers/counter/ti-eqep.c b/drivers/counter/ti-eqep.c
> index a4a5a4486329..1ba7f3c7cb7e 100644
> --- a/drivers/counter/ti-eqep.c
> +++ b/drivers/counter/ti-eqep.c
> @@ -680,7 +680,7 @@ static int ti_eqep_probe(struct platform_device *pdev)
> pm_runtime_get_sync(dev);
>
> /*
> - * We can end up with an interupt infinite loop (interrupts triggered
> + * We can end up with an interrupt infinite loop (interrupts triggered
> * as soon as they are cleared) if we leave these at the default value
> * of 0 and events are enabled.
> */
> --
> 2.25.1
>


Attachments:
(No filename) (3.46 kB)
signature.asc (849.00 B)
Download all attachments

2021-10-27 21:31:17

by David Lechner

[permalink] [raw]
Subject: Re: [PATCH 4/8] docs: counter: add unit timer sysfs attributes

On 10/27/21 1:46 AM, William Breathitt Gray wrote:
> On Sat, Oct 16, 2021 at 08:33:39PM -0500, David Lechner wrote:
>> This documents new unit timer sysfs attributes for the counter
>> subsystem.
>>
>> Signed-off-by: David Lechner <[email protected]>
>
> Hello David,
>
> The unit timer is effectively a Count in its own right, so instead of
> introducing new sysfs attributes you can just implement it as another
> Count in the driver. Count 0 is "QPOSCNT", so set the name of this new
> Count 1 as "Unit Timer" (or the datasheet naming if more apt) to
> differentiate the Counts. You can then provide the "unit_timer_enable",
> "unit_timer_period", and "unit_timer_time" functionalities as respective
> Count 1 extensions ("enable" and "period") and Count 1 "count".
>
> If you believe it appropriate, you can provide the raw timer ticks via
> the Count 1 "count" while a nanoseconds interface is provided via a
> Count 1 extension "timeout" (or something similar).
>

Sounds reasonable.

2021-10-28 08:01:52

by William Breathitt Gray

[permalink] [raw]
Subject: Re: [PATCH 4/8] docs: counter: add unit timer sysfs attributes

On Wed, Oct 27, 2021 at 10:30:36AM -0500, David Lechner wrote:
> On 10/27/21 1:46 AM, William Breathitt Gray wrote:
> > On Sat, Oct 16, 2021 at 08:33:39PM -0500, David Lechner wrote:
> >> This documents new unit timer sysfs attributes for the counter
> >> subsystem.
> >>
> >> Signed-off-by: David Lechner <[email protected]>
> >
> > Hello David,
> >
> > The unit timer is effectively a Count in its own right, so instead of
> > introducing new sysfs attributes you can just implement it as another
> > Count in the driver. Count 0 is "QPOSCNT", so set the name of this new
> > Count 1 as "Unit Timer" (or the datasheet naming if more apt) to
> > differentiate the Counts. You can then provide the "unit_timer_enable",
> > "unit_timer_period", and "unit_timer_time" functionalities as respective
> > Count 1 extensions ("enable" and "period") and Count 1 "count".

Actually if the counter function here is COUNTER_FUNCTION_DECREASE, then
instead of introducing a new "period" extension, define this as a
"ceiling" extension; that's what ceiling represents in the Counter
interface: "the upper limit for the respective counter", which is the
period of a timer counting down to a timeout.

William Breathitt Gray

> >
> > If you believe it appropriate, you can provide the raw timer ticks via
> > the Count 1 "count" while a nanoseconds interface is provided via a
> > Count 1 extension "timeout" (or something similar).
> >
>
> Sounds reasonable.
>


Attachments:
(No filename) (1.46 kB)
signature.asc (849.00 B)
Download all attachments