Messages in this thread | | | Subject | Re: [PATCH] PM: suspend_device_irqs(): don't disable wakeup IRQs | From | Kevin Hilman <> | Date | Thu, 07 May 2009 07:13:55 -0700 |
| |
Kim Kyuwon <chammoru@gmail.com> writes:
> 2009/5/7 Arve Hjønnevåg <arve@android.com>: >> 2009/5/6 Kim Kyuwon <chammoru@gmail.com>: >>> 2009/5/7 Arve Hjønnevåg <arve@android.com>: >>>> On Wed, May 6, 2009 at 5:16 PM, Kevin Hilman >>>> <khilman@deeprootsystems.com> wrote: >>>>> "Rafael J. Wysocki" <rjw@sisk.pl> writes: >>>>> >>>>>> On Wednesday 06 May 2009, Kevin Hilman wrote: >>>>>>> Kevin Hilman <khilman@deeprootsystems.com> writes: >>>> >>>>> There is at least one problem with that which is why Kyuwon Kim added >>>>> the ->disable hook to OMAP's irq_chip. The problem is with drivers >>>>> that call disable_irq() in their suspend hook, usually done to prevent >>>>> the device from waking the system since on OMAP, any IRQ can be >>>>> configured to wake the system. >>>>> >>>> >>>> This does not sound correct. disable_irq_wake should be used for this. >>>> A driver may need to mask its interrupt before suspending but this >>>> should not also disable it as a wakeup source. >>> >>> I wish I could use disable_irq_wake(), but it doesn't work in OMAP. >> >> This does not sound like a hardware problem. > > We may need advices of TI engineers. > However, as far as I know, It is impossible to disable 'interrupt > wake-up' with interrupt enabled. Because an interrupt itself generate > a system wake-up event in OMAP3430 (Hardware level).
Interrupt wakeups can be disabled at the PRCM level. Or more simply we can keep a mask of wakeup-enable interrupts and use that.
I will experiment with getting disable_irq_wake() working.
Kevin
-- 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/
| |