[PATCH V7 0/2] remoteproc: support self recovery

Peng Fan (OSS)
2022-07-05T01:13:55Z

From: Peng Fan <peng.fan@nxp.com>

V7:
Per comments from Arnaud Pouliquen:
Typo fixes
Added A-b tag

V6:
Rename rproc_firmware_recovery to rproc_boot_recovery
Drop the unlock/lock when do reproc_attach_recovery

V5:
Rename RPROC_FEAT_ATTACH_RECOVERY to RPROC_FEAT_ATTACH_ON_RECOVERY
Add kerneldoc for rproc features
Change rproc_set_feature to return int type and add a max feature check
Use __rproc_detach and __rproc_attach when do attach recovery
https://patchwork.kernel.org/project/linux-remoteproc/cover/20220615032048.465486-1-peng.fan@oss.nxp.com/

V4:
Based on Bjorn's comments on V2-2
Move the rproc_has_feature/rproc_set_feature to remoteproc_internal.h and
Keep rproc_features still in remoteproc.h, because we use
RPROC_MAX_FEATURES to declare bitmap.
Update commit log for patch 2/2, and add comments

https://patchwork.kernel.org/project/linux-remoteproc/cover/20220323034405.976643-1-peng.fan@oss.nxp.com/

V3:
Resend the wrong labeled patchset
https://patchwork.kernel.org/project/linux-remoteproc/list/?series=621311

Write a cover-letter
To i.MX8QM/QXP, they have a M4 core self-recovery capability without
Linux loading firmware. The self recovery is done by
SCU(System Control Unit). Current remoteproc framework only support Linux
help recovery remote processor(stop, loading firmware, start). This
patchset is support remote processor self recovery(attach recovery).

In order to avoid introducing a new variable(bool support_self_recovery),
patch 1 introduce a new function, rproc_has_feature to make code easy to
extend, cleaner, such as we could move "bool has_iommu" to
rproc_has_feature(rproc, RPROC_FEAT_IOMMU).

Patch 2 is introduce a new function rproc_attach_recovery for
self recovery, the original logic move to rproc_firmware_recovery meaning
needs linux to help recovery.

V2-version 2:
https://patchwork.kernel.org/project/linux-remoteproc/list/?series=621311
Introduce rproc_has_feature

V2-version 1:
https://patchwork.kernel.org/project/linux-remoteproc/patch/20220126085120.3397450-1-peng.fan@oss.nxp.com/
Nothing change in V2.
Only move this patch out from
https://patchwork.kernel.org/project/linux-remoteproc/list/?series=604364

Peng Fan (2):
remoteproc: introduce rproc features
remoteproc: support attach recovery after rproc crash

drivers/remoteproc/remoteproc_core.c | 62 ++++++++++++++++--------
drivers/remoteproc/remoteproc_internal.h | 15 ++++++
include/linux/remoteproc.h | 16 ++++++
3 files changed, 74 insertions(+), 19 deletions(-)

--
2.25.1