* Andreas Kemnade <andreas@xxxxxxxxxxxx> [181112 19:45]: > Tony Lindgren <tony@xxxxxxxxxxx> wrote: > > Looking at the commit above, looks like the sdio irq handling is > > missing runtime PM calls.. So I wonder if we can just do the > > following? > > Well, if we have runtime PM calls there, the device will never > runtime-suspend with sdio irq enabled, so we do not need a working > wakeup irq. It should, as it calls this at the end: pm_runtime_mark_last_busy(host->dev); pm_runtime_put_autosuspend(host->dev); So the device should stay awake for a while, the default value seems to be 100ms. > > In theory setting the wlan mmc instance autosuspend_timeout_ms to -1 > > in sysfs should then do what your patch is doing except for enabling > > sdio irq even without a wakeirq configured. > > > Well, if sdio irq is not enabled, then the mentioned functions will > never be called, so the patch will not change anything... > > But what might be a better idea is to guard this thing by > if (host->wakeirq) If there's no wakeirq configured, then yes an additional pm_runtime_get() should be done like your patch is doing to prevent system from idling. From what I recall, the sdio irq will only work if no idle state is ever entered. Regards, Tony