On Tue, Nov 25, 2025 at 02:49:03PM +0200, Iuliana Prodan (OSS) wrote: > From: Iuliana Prodan <[email protected]> > > The DSP suspend path currently waits unconditionally > for a suspend ack from the firmware. > This breaks firmwares that do not implement the > mailbox-based READY handshake, as the DSP never > responds and system suspend fails with -EBUSY. >
But if the firmware doesn't implement "mailbox-based READY handshake", do you still want to send the RP_MBOX_SUSPEND_SYSTEM message? If so, can you clarify here in the commit message that the firmware expects the mailbox-based message, and only the "handshake" part should be omitted. If that part isn't implemented either, then I think you should fix the code to not poke the mailbox in the first place. Also, wrap your commit message at 75 characters, please. > The driver already uses the WAIT_FW_READY flag to > indicate that the firmware supports the READY > handshake at boot. Apply the same logic during > suspend: only wait for the suspend ack when the > firmware is expected to support it. > > Signed-off-by: Iuliana Prodan <[email protected]> > --- > drivers/remoteproc/imx_dsp_rproc.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/remoteproc/imx_dsp_rproc.c > b/drivers/remoteproc/imx_dsp_rproc.c > index fc0470aa72c1..e25dbe32ef79 100644 > --- a/drivers/remoteproc/imx_dsp_rproc.c > +++ b/drivers/remoteproc/imx_dsp_rproc.c > @@ -1327,10 +1327,11 @@ static int imx_dsp_suspend(struct device *dev) > } > > /* > - * DSP need to save the context at suspend. > - * Here waiting the response for DSP, then power can be disabled. > + * The DSP must save its context during suspend. Please double check that this comment reflect above conclusion. Regards, Bjorn > + * Wait for a response from the DSP if required before disabling power. > */ > - if (!wait_for_completion_timeout(&priv->pm_comp, msecs_to_jiffies(100))) > + if (priv->flags & WAIT_FW_READY && > + !wait_for_completion_timeout(&priv->pm_comp, msecs_to_jiffies(100))) > return -EBUSY; > > out: > -- > 2.34.1 >

