[PATCH 0/4] remoteproc: k3-r5: Introduce suspend to ram support
From: Richard Genoud
Date: Fri Jun 21 2024 - 11:04:42 EST
This series enables the suspend to ram with R5F remote processors on TI K3
platform.
The 1st patch is actually a fix, independent from the others
The 2nd patch introduces the suspend/resume handlers.
On suspend, the running rprocs will be stopped (or detached) and then
re-loaded in resume.
The logic behind this is:
- shutdown the cores that Linux started to save power in suspend.
- detach the cores that were started before Linux.
Then, the 3rd and 4th patches introduce the graceful shutdown of remote
procs. This will give them a chance to release resources and shut down
in a civilized manner.
Without this series, the suspend fails with:
omap-mailbox 31f81000.mailbox: fifo 1 has unexpected unread messages
omap-mailbox 31f81000.mailbox: PM: dpm_run_callback(): platform_pm_suspend returns -16
omap-mailbox 31f81000.mailbox: PM: platform_pm_suspend returned -16 after 16328 usecs
omap-mailbox 31f81000.mailbox: PM: failed to suspend: error -16
Patches 2 and 4 are based on work from Hari Nagalla <hnagalla@xxxxxx>.
@Hari, please feel free to add your Co-developed-by:/Signed-off-by:
Tested on J7200X SoM
Series is based on v6.10-rc4
Richard Genoud (4):
remoteproc: k3-r5: Fix IPC-only mode detection
remoteproc: k3-r5: Introduce PM suspend/resume handlers
remoteproc: k3-r5: k3_r5_rproc_stop: code reorder
remoteproc: k3-r5: support for graceful stop of remote cores
drivers/remoteproc/omap_remoteproc.h | 9 +-
drivers/remoteproc/ti_k3_r5_remoteproc.c | 196 +++++++++++++++++++++--
2 files changed, 188 insertions(+), 17 deletions(-)