Hi Thomas, On Mon, Mar 04, 2024 at 04:35:46PM +0100, Thomas Richard wrote: > A device may need the controller up during suspend_noirq() or > resume_noirq(). > But if the controller is autosuspended, there is no way to wakeup it during > suspend_noirq() or resume_noirq() because runtime pm is disabled at this > time. > > The suspend() callback wakes up the controller, so it is available until > its suspend_noirq() callback (pm_runtime_force_suspend()). > During the resume, it's restored by resume_noirq() callback > (pm_runtime_force_resume()). Then resume() callback enables autosuspend. > > So the controller is up during a little time slot in suspend and resume > sequences even if it's not used. > > Signed-off-by: Thomas Richard <thomas.richard@xxxxxxxxxxx> Reviewed-by: Andi Shyti <andi.shyti@xxxxxxxxxx> Thanks, Andi