On Tue, Mar 1, 2011 at 9:27 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > On Tue, 1 Mar 2011, Pierre Tardy wrote: > >> >> + if (pm_runtime_suspended()) { >> >> + host->waking_up = 1; >> >> + /* Note that we disable temporarly the interrupt until we do the >> >> + * resume. If we don't then we'll get constantly interrupted >> >> + * until we actually resume. >> >> + * >> >> + * as the irq is shared, this might not be very friendly to our >> >> + * irq sharers but the pm_runtime workqueue should really be >> >> + * called soon. >> > >> > Instead of disabling the IRQ, would it be possible to tell the device >> > to stop generating an interrupt request? >> >> Well, the device is power gated, so any access to it will cause a bus >> timeout (depending of the platform) > > But could you gate the power back on and then turn off the interrupt > request? That's the role of runtime_resume... On some platform, this may need up to sending some SPI commands to the PMIC, to get those power rails back on. Something that you cannot do in interrupt context. > > It seems like a foolish design to have an interrupt request that can't > be turned off by an interrupt handler. It's what we have for now ( looks like I need to go back to my system architects to see if we can change that...) Alan, thanks for all this feedback. I have now a much more clear view on how this is working on ACPI, I'll try to see how we can mimic this behaviour on intel_mid. -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html