From: Bin Gao <bin.gao@linux.intel.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>,
Mathias Nyman <mathias.nyman@linux.intel.com>,
Alexandre Courbot <gnurou@gmail.com>,
"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
Andy Shevchenko <andy.shevchenko@gmail.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Ajay Thomas <ajay.thomas.david.rajamanickam@intel.com>,
Yegnesh S Iyer <yegnesh.s.iyer@intel.com>,
Bin Gao <bin.gao@intel.com>
Subject: Re: [PATCH v4] gpio: add Intel WhiskeyCove GPIO driver
Date: Mon, 11 Jul 2016 17:12:33 -0700 [thread overview]
Message-ID: <20160712001233.GA168694@worksta> (raw)
In-Reply-To: <CACRpkdZJ0AUWmxLApzryCZbQcQmwWO1A-NLMP46WsLkJBZgprQ@mail.gmail.com>
On Wed, Jul 06, 2016 at 10:57:19AM +0200, Linus Walleij wrote:
> > + gpiochip_irqchip_add(&wg->chip, &wcove_irqchip, 0,
> > + handle_simple_irq, IRQ_TYPE_NONE);
>
> Reexamine the use of handle_simple_irq() here. We have two kinds of
> irq hardware: those with one register for ACKing and reading the status
> of an IRQ, and those with two registers for it: one where you ACK the
> IRQ (so it can immediately re-trigger) and one to read the status of
> whether it happened. Sometimes different handling is needed for
> levek and edge IRQs even (c.f. gpio-pl061.c).
>
> Only the hardware with just one register for both things should use
> handle_simple_irq(). This seems to be the case here but I want you
> to verify.
Yes, our case is handle_simple_irq(), not handle_edge_irq(), handle_level_irq() or
handle_fasteoi_irq(), etc. because there is no ACK mechanism inside the
GPIO controller's interrupt logic - all we need to do is read the status
register to get the status and write-to-clear the status register so that
a new interrupt can be triggered, i.e. there is only one register for both.
>
> Yours,
> Linus Walleij
prev parent reply other threads:[~2016-07-12 0:08 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-27 23:56 [PATCH v4] gpio: add Intel WhiskeyCove GPIO driver Bin Gao
2016-07-01 20:21 ` Andy Shevchenko
2016-07-06 8:57 ` Linus Walleij
2016-07-06 10:07 ` Mika Westerberg
2016-07-07 5:30 ` Bin Gao
2016-07-07 5:29 ` Bin Gao
2016-07-12 0:12 ` Bin Gao [this message]
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=20160712001233.GA168694@worksta \
--to=bin.gao@linux.intel.com \
--cc=ajay.thomas.david.rajamanickam@intel.com \
--cc=andy.shevchenko@gmail.com \
--cc=bin.gao@intel.com \
--cc=gnurou@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mathias.nyman@linux.intel.com \
--cc=mika.westerberg@linux.intel.com \
--cc=yegnesh.s.iyer@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.