Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1283264

Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND flag

From Sudeep Holla <sudeep.holla@arm.com>
Newsgroups linux.kernel
Subject Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND flag
Date 2015-12-03 20:00 +0100
Message-ID <qBHgK-qe-5@gated-at.bofh.it> (permalink)
References <qzv0m-5QM-5@gated-at.bofh.it> <qzv0m-5QM-3@gated-at.bofh.it> <qATMZ-2eD-1@gated-at.bofh.it> <qBGE3-cG-27@gated-at.bofh.it>
Organization ARM

Show all headers | View raw



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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND flag Linus Walleij <linus.walleij@linaro.org> - 2015-12-01 15:10 +0100
  Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Tony Lindgren <tony@atomide.com> - 2015-12-03 19:20 +0100
    Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Grygorii Strashko <grygorii.strashko@ti.com> - 2015-12-03 19:40 +0100
      Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Tony Lindgren <tony@atomide.com> - 2015-12-03 22:40 +0100
        Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Grygorii Strashko <grygorii.strashko@ti.com> - 2015-12-04 11:50 +0100
          Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Sudeep Holla <sudeep.holla@arm.com> - 2015-12-04 12:00 +0100
            Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Grygorii Strashko <grygorii.strashko@ti.com> - 2015-12-04 12:20 +0100
              Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Sudeep Holla <sudeep.holla@arm.com> - 2015-12-04 12:30 +0100
          Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Tony Lindgren <tony@atomide.com> - 2015-12-04 16:40 +0100
            Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Grygorii Strashko <grygorii.strashko@ti.com> - 2015-12-04 17:00 +0100
              Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Sudeep Holla <sudeep.holla@arm.com> - 2015-12-04 17:20 +0100
                Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Grygorii Strashko <grygorii.strashko@ti.com> - 2015-12-04 17:40 +0100
                Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Tony Lindgren <tony@atomide.com> - 2015-12-04 18:10 +0100
              Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Tony Lindgren <tony@atomide.com> - 2015-12-04 18:10 +0100
    Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Sudeep Holla <sudeep.holla@arm.com> - 2015-12-03 20:00 +0100
      Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Tony Lindgren <tony@atomide.com> - 2015-12-03 22:50 +0100
        Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Tony Lindgren <tony@atomide.com> - 2015-12-04 16:50 +0100
          Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Sudeep Holla <sudeep.holla@arm.com> - 2015-12-04 16:50 +0100
            Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Grygorii Strashko <grygorii.strashko@ti.com> - 2015-12-04 17:30 +0100
              Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Sudeep Holla <sudeep.holla@arm.com> - 2015-12-04 17:30 +0100
                Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Tony Lindgren <tony@atomide.com> - 2015-12-04 18:10 +0100
          Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Sudeep Holla <sudeep.holla@arm.com> - 2015-12-04 17:20 +0100
            Re: [PATCH 2/2] pinctrl: single: remove misuse of IRQF_NO_SUSPEND  flag Tony Lindgren <tony@atomide.com> - 2015-12-04 18:20 +0100

csiph-web