Re: [PATCH v6 00/16] remoteproc: Add support for detaching a remote processor
From: Arnaud POULIQUEN
Date: Fri Feb 26 2021 - 11:41:41 EST
Hi Mathieu,
On 2/24/21 12:34 AM, Mathieu Poirier wrote:
> Following the work done here [1], this set provides support for the
> remoteproc core to release resources associated with a remote processor
> without having to switch it off. That way a platform driver can be removed
> or the application processor power cycled while the remote processor is
> still operating.
>
> Modifications for this revision are detailed in the changelog of each patch
> but the main difference is that going from RPROC_RUNNING -> RPROC_DETACHED
> is no longer supported to avoid dealing tricky resource table issues.
This seems reasonable to me. If necessary, this could be part of a separate series.
>From test point of view, it is working pretty well on my side.
Thanks,
Arnaud
>
> Applies cleanly on rproc-next (e8b4e9a21af7). I will rebase on 5.12-rc1 when it
> comes out next week.
>
> Thanks,
> Mathieu
>
> Arnaud POULIQUEN (1):
> remoteproc: stm32: Move memory parsing to rproc_ops
>
> Mathieu Poirier (15):
> remoteproc: Remove useless check in rproc_del()
> remoteproc: Rename function rproc_actuate()
> remoteproc: Add new RPROC_ATTACHED state
> remoteproc: Properly represent the attached state
> remoteproc: Add new get_loaded_rsc_table() to rproc_ops
> remoteproc: stm32: Move resource table setup to rproc_ops
> remoteproc: Add new detach() remoteproc operation
> remoteproc: Introduce function __rproc_detach()
> remoteproc: Introduce function rproc_detach()
> remoteproc: Properly deal with the resource table when attached
> remoteproc: Properly deal with a kernel panic when attached
> remoteproc: Properly deal with a start request when attached
> remoteproc: Properly deal with a stop request when attached
> remoteproc: Properly deal with a detach request when attached
> remoteproc: Refactor rproc delete and cdev release path
>
> drivers/remoteproc/remoteproc_cdev.c | 21 +-
> drivers/remoteproc/remoteproc_core.c | 263 ++++++++++++++++++++---
> drivers/remoteproc/remoteproc_internal.h | 10 +
> drivers/remoteproc/remoteproc_sysfs.c | 17 +-
> drivers/remoteproc/stm32_rproc.c | 168 +++++++--------
> include/linux/remoteproc.h | 21 +-
> 6 files changed, 362 insertions(+), 138 deletions(-)
>