[PATCH v3 00/14] remoteproc: Add support for synchronisaton with rproc

From: Mathieu Poirier
Date: Fri Apr 24 2020 - 16:01:40 EST


This is the third revision of this series that tries to address the
problem of synchronising with a remote processor with as much
flexibility as possible.

Two things to pay attention to:

1) Function rproc_actuate() has been abandoned to avoid creating another
way to start a remote processor from a kernel driver. Arnaud expressed
the opinion that it is semantically questionnable to synchronise with a
remote processor when calling rproc_boot(). We could rename
rproc_boot() to rproc_actuate() but I'll wait to see what other people
think before doing so.

2) The allocation of the synchronisation states has been split from the
remote processor allocation. A new function rproc_set_state_machine()
does all the work now. Proceeding this way has made the patchset a
lot more simple.

Other than the above I have tried to address all the comments made on the
second revision. If a comment was not addressed it simply fell through
the cracks rather than ignored. In such a case please reiterate your point
of view and I'll be sure to address it.

Applies cleanly on rproc-next (305ac5a766b1).

Best regards,
Mathieu

Mathieu Poirier (14):
remoteproc: Make core operations optional
remoteproc: Introduce function rproc_alloc_internals()
remoteproc: Add new operation and flags for synchronistation
remoteproc: Refactor function rproc_boot()
remoteproc: Refactor function rproc_fw_boot()
remoteproc: Refactor function rproc_trigger_auto_boot()
remoteproc: Introducting new start and stop functions
remoteproc: Call core functions based on synchronisation flag
remoteproc: Deal with synchronisation when crashing
remoteproc: Deal with synchronisation when shutting down
remoteproc: Deal with synchronisation when changing FW image
remoteproc: Introducing function rproc_set_state_machine()
remoteproc: Document function rproc_set_state_machine()
remoteproc: Expose synchronisation flags via debugfs

Documentation/remoteproc.txt | 17 ++
drivers/remoteproc/remoteproc_core.c | 197 +++++++++++++++++++----
drivers/remoteproc/remoteproc_debugfs.c | 21 +++
drivers/remoteproc/remoteproc_internal.h | 123 +++++++++++++-
drivers/remoteproc/remoteproc_sysfs.c | 24 ++-
include/linux/remoteproc.h | 27 ++++
6 files changed, 372 insertions(+), 37 deletions(-)

--
2.20.1