linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: u.kleine-koenig@pengutronix.de (Uwe Kleine-König)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] imx/gpio: Use handle_level_irq
Date: Fri, 23 Oct 2009 13:58:44 +0200	[thread overview]
Message-ID: <20091023115844.GA1821@pengutronix.de> (raw)
In-Reply-To: <4e090d470910230427t3fb2d20rce3c25b3be392944@mail.gmail.com>

Hello,

On Fri, Oct 23, 2009 at 07:27:08PM +0800, Richard Zhao wrote:
> 2009/10/21 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>:
> > Hello Sascha,
> >
> > On Tue, Oct 20, 2009 at 10:13:03AM +0200, Sascha Hauer wrote:
> >> On Mon, Oct 19, 2009 at 10:19:28PM +0200, Uwe Kleine-K?nig wrote:
> >> > According to Russell King handle_edge_irq is only useful for "edge-based
> >> > inputs where the controller does not remember transitions with the input
> >> > masked."
> >> >
> >> > So using handle_edge_irq unconditionally for both edge and level irqs is
> >> > wrong. ?Testing showed that the controller does remember transitions
> >> > while the interrupt is masked. ?So use handle_level_irq unconditionally.
> >>
> >> As this fixes only rt kernels and we have no reports that something is
> >> not working on non rt kernels I suggest putting this into the next merge
> >> window.
> > The PMIC on pcm038 doesn't work anymore with handle_edge_irq since I
> > switched to using threaded irqs in the driver. ?But as this won't hit
> > mainline before the next merge window that is fine for me, too.
> 
> handle_level_irq may lost edge irq request. The controller won't
> change ISR when irq's masked.
> Why not decide to use handle_level_irq or handle_edge_irq in gpio_set_irq_type?
Have you read the commit log?  If yes, do you know a test case where
handle_level_irq fails to detect an edge irq when masked?

I did on a Phytec pcm038:

	set_irq_type(TRIGGER_RISING)
	mask(irq=119)
	provoke a rising edge on gpio55
	unmask(irq=119)

and after that the irq handler was entered.

Best regards
Uwe

-- 
Pengutronix e.K.                              | Uwe Kleine-K?nig            |
Industrial Linux Solutions                    | http://www.pengutronix.de/  |

  reply	other threads:[~2009-10-23 11:58 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-19 20:19 [PATCH] imx/gpio: Use handle_level_irq Uwe Kleine-König
2009-10-20  8:13 ` Sascha Hauer
2009-10-20 17:37   ` Uwe Kleine-König
2009-10-23 11:27     ` Richard Zhao
2009-10-23 11:58       ` Uwe Kleine-König [this message]
2009-11-01 20:39   ` Uwe Kleine-König

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=20091023115844.GA1821@pengutronix.de \
    --to=u.kleine-koenig@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).