Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Nov 2020 19:45:32 -0300
From:      "Dr. Rolf Jansen" <freebsd-rj@obsigna.com>
To:        Ian Lepore <ian@freebsd.org>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: User Space GPIO Interrupt programming - GSoC-2018
Message-ID:  <BD08359D-C61D-454F-95A1-92B248707B9C@obsigna.com>
In-Reply-To: <1e6993d43d22d6ce1aa2860a61745356688d1e53.camel@freebsd.org>
References:  <2B01780F-D367-48A3-A827-B479030A496D@obsigna.com> <c55d7f332631b69c3241a60538a6a7b5475d93b9.camel@freebsd.org> <FBEF19B1-0504-4CDF-976C-C50707E06584@obsigna.com> <8d806302-479c-ca34-3fdb-96d27f40e212@viruzzz.org> <8655AF30-273B-48E7-98CD-007AA1D265F5@obsigna.com> <54ffe2d2-01a2-8b43-94fa-aee4a3f89861@viruzzz.org> <08649892ca2ab434c261d36e0e13ba051086de6f.camel@freebsd.org> <1e6993d43d22d6ce1aa2860a61745356688d1e53.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Am 27.11.2020 um 15:04 schrieb Ian Lepore <ian@freebsd.org>:
> On Fri, 2020-11-27 at 10:16 -0700, Ian Lepore wrote:
>> On Fri, 2020-11-27 at 14:28 +0300, Vladimir Goncharov wrote:
>>> Here it is.
>>> There is struct gpioc_event with pin number and bintime which is =
send
>>> to userspace.
>>>=20
>>> Also I'm thinking about to implementation notofication without extra
>>> reading from socket via struct kevent's extra fields =
(fflags/ext[4]),
>>> looks like it is possible.
>>>=20
>>=20
>> Please don't top-post on freebsd mailing lists.
>>=20
>> I think we need a way for the app to choose whether it wants simple
>> reporting of pin number (like the original code) perhaps along with a
>> count, versus requesting detailed per-event data.  I'm going to =
propose
>> something more detailed about this as soon as I get my thoughts all
>> organized.  I also want to get the original code and the locking =
fixes
>> I've done to it into a phab review for people to start looking at
>> before starting to do new major changes to it.
>>=20
>> Allocating memory in the interrupt handler isn't a good idea, it will
>> just increase latency on processing other pin interrupts and lead to
>> inaccurate timestamps.  IMO, it would be better to allocate a fixed
>> array of events; when the app requests detailed event reporting it =
can
>> request the number of stored events it wants handled and we could
>> allocate all at once based on that.
>>=20
>=20
> The gsoc2018 code, with locking and style(9) fixes, is now at:
>=20
>  https://reviews.freebsd.org/D27398

I got it working, and as expected, by your comments the level interrupt =
mode has been disabled. I am OK with this. Later, I will add more =
comments on this in my response to you other e-mail.

Best regards

Rolf=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BD08359D-C61D-454F-95A1-92B248707B9C>