i3c: i3c-master-qcom-geni: Manage driver suspend in late PM stage
While executing suspend_noirq callbacks non-wakeup interrupts are
disabled, wake-up interrupts are enabled but their handling is
deferred till the completion of suspend_noirq stage and gets handled
when resume starts again immediately after suspend_late.
GENI I3C driver unvotes the resources in the suspend_noirq stage.
There is no issue wrt managing clk and pinctrl resources at noirq
tage however ICC BW voting can't be done at noirq stage.
ICC request to RPM needs an ACK from RPM driver, the ack here is
nothing but interrupt from IPCC driver and it can't be processed
at noirq stage, hence flow is indefinitely stuck in I3C suspend_noirq
callback.
This issue primarily occurs for platforms using IPCC driver but also
there is no harm making driver to suspend during late suspend. This is
by design of all buses drivers for now.
Change-Id: Icdbba72f431da321a3343364400c180f325ac369
Signed-off-by:
Mukesh Kumar Savaliya <msavaliy@codeaurora.org>
Loading
Please register or sign in to comment