From: Sudeep Holla <sudeep.holla@arm.com>
To: Tony Lindgren <tony@atomide.com>,
Linus Walleij <linus.walleij@linaro.org>
Cc: Sudeep Holla <sudeep.holla@arm.com>,
Grygorii Strashko <grygorii.strashko@ti.com>,
"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
linux-omap@vger.kernel.org
Subject: Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND flag
Date: Thu, 3 Dec 2015 18:59:08 +0000 [thread overview]
Message-ID: <566090FC.1020502@arm.com> (raw)
In-Reply-To: <20151203181337.GV23396@atomide.com>
On 03/12/15 18:13, Tony Lindgren wrote:
> * Linus Walleij <linus.walleij@linaro.org> [151201 06:07]:
>> On Fri, Nov 27, 2015 at 6:21 PM, Sudeep Holla <sudeep.holla@arm.com> wrote:
>>
>>> From: Sudeep Holla <Sudeep.Holla@arm.com>
>>>
>>> The IRQF_NO_SUSPEND flag is used to identify the interrupts that should
>>> be left enabled so as to allow them to work as expected during the
>>> suspend-resume cycle, but doesn't guarantee that it will wake the system
>>> from a suspended state, enable_irq_wake is recommended to be used for
>>> the wakeup.
>>>
>>> This patch removes the use of IRQF_NO_SUSPEND flags replacing it with
>>> irq_set_irq_wake instead.
>>>
>>> Cc: Linus Walleij <linus.walleij@linaro.org>
>>> Cc: linux-gpio@vger.kernel.org
>>> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
>>
>> I need Tony's ACK on this as well.
>
> At least on omaps, this controller is always powered and we never want to
> suspend it as it handles wake-up events for all the IO pins. And that
> usecase sounds exactly like what you're describing above.
>
Understood, but I assume this is a generic driver that can be used by
any pinmux.
> I don't quite follow what your suggested alternative for an interrupt
> controller is?
>
Why can't we use enable_irq_wake even for parent/interrupt controller as
they can be considered as parent wakeup irq. I agree the interrupt
controller may not be powered down, but still it's part of wakeup and
the irq core needs to identify that. By just marking IRQF_NO_SUSPEND,
you are saying that you can handle interrupt in the suspend path but not
informing that it's a wakeup interrupt.
With this change, the wakeup handler (including the parent handler) is
called when it's safe as the irq core maintains the state machine.
> At least we need to have the alternative patched in with this chage before
> just removing IRQF_NO_SUSPEND.
>
I have added irq_set_irq_wake(pcs_soc->irq, state) in pcs_irq_set_wake
which ensures it's marked for wakeup.
> The enable_irq_wake is naturally used for the consumer drivers of this
> interrupt controller and actually mostly done automatically now with the
> dev_pm_set_dedicated_wake_irq.
>
Agreed, no doubt on that.
--
Regards,
Sudeep
next prev parent reply other threads:[~2015-12-03 18:59 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-27 17:20 [PATCH 1/2] pinctrl: single: Use a separate lockdep class Sudeep Holla
2015-11-27 17:21 ` [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND flag Sudeep Holla
2015-12-01 14:06 ` Linus Walleij
2015-12-03 18:13 ` Tony Lindgren
2015-12-03 18:35 ` Grygorii Strashko
2015-12-03 18:35 ` Grygorii Strashko
2015-12-03 21:37 ` Tony Lindgren
2015-12-04 10:44 ` Grygorii Strashko
2015-12-04 10:44 ` Grygorii Strashko
2015-12-04 10:54 ` Sudeep Holla
2015-12-04 11:18 ` Grygorii Strashko
2015-12-04 11:18 ` Grygorii Strashko
2015-12-04 11:21 ` Sudeep Holla
2015-12-04 15:35 ` Tony Lindgren
2015-12-04 15:59 ` Grygorii Strashko
2015-12-04 15:59 ` Grygorii Strashko
2015-12-04 16:11 ` Sudeep Holla
2015-12-04 16:30 ` Grygorii Strashko
2015-12-04 16:30 ` Grygorii Strashko
2015-12-04 17:07 ` Tony Lindgren
2015-12-04 17:09 ` Tony Lindgren
2015-12-03 18:59 ` Sudeep Holla [this message]
2015-12-03 21:40 ` Tony Lindgren
2015-12-04 15:40 ` Tony Lindgren
2015-12-04 15:44 ` Sudeep Holla
2015-12-04 16:19 ` Grygorii Strashko
2015-12-04 16:19 ` Grygorii Strashko
2015-12-04 16:26 ` Sudeep Holla
2015-12-04 17:06 ` Tony Lindgren
2015-12-04 16:15 ` Sudeep Holla
2015-12-04 17:10 ` Tony Lindgren
2015-12-01 14:06 ` [PATCH 1/2] pinctrl: single: Use a separate lockdep class Linus Walleij
2015-12-01 14:09 ` Sudeep Holla
2015-12-03 18:07 ` Tony Lindgren
2015-12-03 21:46 ` Tony Lindgren
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=566090FC.1020502@arm.com \
--to=sudeep.holla@arm.com \
--cc=grygorii.strashko@ti.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=tony@atomide.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.