All of lore.kernel.org
 help / color / mirror / Atom feed
From: William Breathitt Gray <vilhelm.gray@gmail.com>
To: David Lechner <david@lechnology.com>
Cc: linux-iio@vger.kernel.org,
	Robert Nelson <robertcnelson@gmail.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/8] counter/ti-eqep: implement over/underflow events
Date: Thu, 28 Oct 2021 15:41:48 +0900	[thread overview]
Message-ID: <YXpGLMjXImwEVJGY@shinobu> (raw)
In-Reply-To: <1d9f37b9-8600-1d8c-09ff-b9d9cc592b26@lechnology.com>

[-- Attachment #1: Type: text/plain, Size: 2357 bytes --]

On Wed, Oct 27, 2021 at 10:23:13AM -0500, David Lechner wrote:
> On 10/25/21 2:13 AM, William Breathitt Gray wrote:
> > On Sat, Oct 16, 2021 at 08:33:36PM -0500, David Lechner wrote:
> >> @@ -260,11 +333,17 @@ static int ti_eqep_position_ceiling_write(struct counter_device *counter,
> >>   					  u64 ceiling)
> >>   {
> >>   	struct ti_eqep_cnt *priv = counter->priv;
> >> +	u32 qposmax = ceiling;
> >>   
> >> -	if (ceiling != (u32)ceiling)
> >> +	/* ensure that value fits in 32-bit register */
> >> +	if (qposmax != ceiling)
> >>   		return -ERANGE;
> >>   
> >> -	regmap_write(priv->regmap32, QPOSMAX, ceiling);
> >> +	/* protect against infinite overflow interrupts */
> >> +	if (qposmax == 0)
> >> +		return -EINVAL;
> > 
> > Would you be able to explain this scenario a bit further? My expectation
> > would be that an overflow event would only occur if the position
> > increased past the ceiling (i.e. increased to greater than 0). Of
> > course, running the device with a ceiling of 0 effectively guarantees
> > overflow eventss with every movement, but I would expect a stationary
> > device to sit with a position of 0 and thus no overflow events.
> > 
> 
> This is just the way the hardware works. I discovered this the first
> time I enabled interrupts. Even if you clear the interrupt, it is
> triggered again immediately when QPOSMAX == 0.

For this device, does an overflow event occur once the count value
increases to equal the ceiling value, or once the count value increases
past the ceiling value?

The Counter interface defines ceiling as an inclusive upper limit (count
value is capable of reaching ceiling) and defines COUNTER_EVENT_OVERFLOW
as occuring when the count value increases past ceiling. I want to make
sure the ceiling extension and COUNTER_EVENT_OVERFLOW events for this
driver are behaving as expected of the Counter interface.

Let's use a non-zero example to be clear. Suppose we set ceiling equal
to 10. If count is currently at 9 and increases by 1, count should
become 10 and no COUNTER_EVENT_OVERFLOW event is expected to trigger; if
count is 10 and further increases, count should _not_ become 11 (staying
at 10 or starting over at the floor) but a COUNTER_EVENT_OVERFLOW event
does trigger. Does the driver behave like this currently?

William Breathitt Gray

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2021-10-28  6:41 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-17  1:33 [PATCH 0/8] counter: ti-eqep: implement features for speed measurement David Lechner
2021-10-17  1:33 ` [PATCH 1/8] counter/ti-eqep: implement over/underflow events David Lechner
2021-10-17 11:10   ` Jonathan Cameron
2021-10-25  7:13   ` William Breathitt Gray
2021-10-27 15:23     ` David Lechner
2021-10-28  6:41       ` William Breathitt Gray [this message]
2021-10-17  1:33 ` [PATCH 2/8] counter/ti-eqep: add support for direction David Lechner
2021-10-17 11:11   ` Jonathan Cameron
2021-10-25  7:29   ` William Breathitt Gray
2021-10-17  1:33 ` [PATCH 3/8] counter/ti-eqep: add support for unit timer David Lechner
2021-10-17 11:20   ` Jonathan Cameron
2021-10-25  8:48   ` William Breathitt Gray
2021-10-27 15:28     ` David Lechner
2021-10-28  7:48       ` William Breathitt Gray
2021-10-28 13:42         ` David Lechner
2021-10-30  8:35           ` William Breathitt Gray
2021-10-17  1:33 ` [PATCH 4/8] docs: counter: add unit timer sysfs attributes David Lechner
2021-10-17 11:23   ` Jonathan Cameron
2021-10-27  6:46   ` William Breathitt Gray
2021-10-27 15:30     ` David Lechner
2021-10-28  7:59       ` William Breathitt Gray
2021-10-30 16:40         ` David Lechner
2021-11-01  4:08           ` William Breathitt Gray
2021-11-01  5:27             ` William Breathitt Gray
2021-10-17  1:33 ` [PATCH 5/8] counter/ti-eqep: add support for latched position David Lechner
2021-10-27  7:44   ` William Breathitt Gray
2021-10-27 15:40     ` David Lechner
2021-10-28  8:12       ` William Breathitt Gray
2021-10-17  1:33 ` [PATCH 6/8] docs: counter: add latch_mode and latched_count sysfs attributes David Lechner
2021-10-17 11:26   ` Jonathan Cameron
2021-10-27  7:54   ` William Breathitt Gray
2021-10-27 17:00     ` David Lechner
2021-10-30  1:32       ` William Breathitt Gray
2021-10-30 14:39         ` Jonathan Cameron
2021-11-01  5:11           ` William Breathitt Gray
2021-10-17  1:33 ` [PATCH 7/8] counter/ti-eqep: add support for edge capture unit David Lechner
2021-10-17 11:29   ` Jonathan Cameron
2021-10-27  8:23   ` William Breathitt Gray
2021-10-27 17:28     ` David Lechner
2021-10-17  1:33 ` [PATCH 8/8] docs: counter: add edge_capture_unit_* attributes David Lechner
2021-10-27  8:26   ` William Breathitt Gray

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YXpGLMjXImwEVJGY@shinobu \
    --to=vilhelm.gray@gmail.com \
    --cc=david@lechnology.com \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robertcnelson@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.