[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 3 Apr 2017 20:03:00 -0700
From: Tony Lindgren <tony@...mide.com>
To: Mark Brown <broonie@...nel.org>
Cc: linux-kernel@...r.kernel.org, linux-omap@...r.kernel.org,
Charles Keepax <ckeepax@...nsource.wolfsonmicro.com>,
Lee Jones <lee.jones@...aro.org>,
Marcel Partap <mpartap@....net>,
Michael Scott <michael.scott@...aro.org>
Subject: Re: [PATCH 1/4] regmap: irq: Fix lost interrupts by introducing
handle_reread
Hi,
* Tony Lindgren <tony@...mide.com> [170328 10:13]:
> * Mark Brown <broonie@...nel.org> [170328 09:51]:
> > On Tue, Mar 28, 2017 at 08:47:41AM -0700, Tony Lindgren wrote:
> > > * Mark Brown <broonie@...nel.org> [170328 08:21]:
> >
> > > > Right, my thinking here is that by pushing into genirq we minimise the
> > > > need even further since it'll also be available to drivers not using
> > > > regmap-irq.
> >
> > > > > like, handle until we get IRQ_NONE? :)
> >
> > > > Well, that's what the per driver emulation does so... yeah. Probably
> > > > with an upper limit on the number of times we do that.
> >
> > > OK let's first see how that would work. I'll send a patch
> > > for that.
> >
> > Thanks. Can you keep me on the CC please? It's something I keep
> > thinking about looking at myself.
>
> Sure will do, you'll get some shared flames on it :)
So I found the real problem after thinking what you guys commented
on the "level device connected to an edge only GPIO". I added some
printks to verify that's not the case just to find out that the dts
GPIO interrupt edge configuration got only passed to the SPI driver :)
So the level IRQ changes I did earlier to the dts file did nothing.
The fix is simply to call devm_regmap_add_irq_chip() with
irq_get_trigger_type(cpcap->spi->irq) to get the configured
triggering passed properly from the dts.
So I'll drop the genirq/regmap_irq related hacks and resend just
the minimal MFD fixes. Similar misconfiguration may be the root
cause for other drivers too..
Regards,
Tony
Powered by blists - more mailing lists