[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211124072720.GA30281@pengutronix.de>
Date: Wed, 24 Nov 2021 08:27:20 +0100
From: Oleksij Rempel <o.rempel@...gutronix.de>
To: William Breathitt Gray <vilhelm.gray@...il.com>
Cc: linux-iio@...r.kernel.org,
Robin van der Gracht <robin@...tonic.nl>,
linux-kernel@...r.kernel.org,
Pengutronix Kernel Team <kernel@...gutronix.de>,
David Jander <david@...tonic.nl>,
Jonathan Cameron <jic23@...nel.org>
Subject: Re: [PATCH v1] counter: interrupt-cnt: add counter_push_event()
Hi William,
On Wed, Nov 24, 2021 at 03:09:05PM +0900, William Breathitt Gray wrote:
> On Tue, Nov 23, 2021 at 02:45:40PM +0100, Oleksij Rempel wrote:
> > Add counter_push_event() to notify user space about new pulses
> >
> > Signed-off-by: Oleksij Rempel <o.rempel@...gutronix.de>
> > ---
> > drivers/counter/interrupt-cnt.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/counter/interrupt-cnt.c b/drivers/counter/interrupt-cnt.c
> > index 8514a87fcbee..b237137b552b 100644
> > --- a/drivers/counter/interrupt-cnt.c
> > +++ b/drivers/counter/interrupt-cnt.c
> > @@ -31,6 +31,8 @@ static irqreturn_t interrupt_cnt_isr(int irq, void *dev_id)
> >
> > atomic_inc(&priv->count);
> >
> > + counter_push_event(&priv->counter, COUNTER_EVENT_OVERFLOW, 0);
> > +
> > return IRQ_HANDLED;
> > }
> >
> > --
> > 2.30.2
>
> Hi Oleksij,
>
> It looks like this is pushing a COUNTER_EVENT_OVERFLOW event every time
> an interrupt is handled, which I suspect is not what you want to happen.
> The COUNTER_EVENT_OVERFLOW event indicates a count value overflow event,
> so you'll need to check for a count value overflow before pushing the
> event.
>
> It would be good idea to implement a ceiling extension as well (you can
> use the COUNTER_COMP_CEILING() macro) so that users can configure the
> particular point where the value overflows.
Thank you!
What would be the best and resource effective strategy for periodically
getting frequency of interrupts/pulses? This is actual information which is
needed for my use case.
So far, I was pushing every event to the user space, which is working
but probably not the most resource effective method of doing it.
Regards,
Oleskij
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Powered by blists - more mailing lists