lkml.org 
[lkml]   [2017]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/4] regmap: irq: Fix lost interrupts by introducing handle_reread
Hi,

* Tony Lindgren <tony@atomide.com> [170328 10:13]:
> * Mark Brown <broonie@kernel.org> [170328 09:51]:
> > On Tue, Mar 28, 2017 at 08:47:41AM -0700, Tony Lindgren wrote:
> > > * Mark Brown <broonie@kernel.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

\
 
 \ /
  Last update: 2017-04-04 05:03    [W:0.053 / U:0.568 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site