Re: [PATCH v2 00/12] remoteproc: stm32: Add support for synchronising with M4

From: Mathieu Poirier
Date: Fri May 01 2020 - 13:59:43 EST


On Wed, Apr 29, 2020 at 05:08:32PM +0200, Arnaud POULIQUEN wrote:
> Hi Mathieu,
>
> On 4/24/20 10:24 PM, Mathieu Poirier wrote:
> > This patchset needs to be applied on top of this one [1].
> >
> > It refactors the STM32 platform code in order to introduce support for
> > synchronising with the M4 remote processor that would have been started by
> > the boot loader or another entity.
> >
> > It carries the same functionatlity as the previeous revision but account
> > for changes in the remoteproc core to support synchronisation scenarios.
> > Some RB tags have been removed when the content of the patch has strayed
> > too far from the original version. See patch 3, 8, 9 and 12 for more
> > details.
>
> I reviewed the series, and made some tests on my side.
> FYI, I do not answer to patches when tagged "Reviewed-by: Loic Pallardy"
> and with no extra remark. So consider them as Reviewed-by me but not
> necessary to add the tag in commit, Reviewed-by: loic in commit is sufficient.

Well, if you spent all this time reviewing the code might as well get credit for
it... And it also helps maintainers get a feel for how many eyes have looked
at the code.

>
> Concerning tests, it works find except the crash recovery from a sync start.
> But i suppose that you know the limitation, waiting Loic patches[1] update :)

As I commented in the patch itself, I'll fix this so that the condition leading
to the recovery limbo can't happen.

Thanks,
Mathieu

>
> [1]: https://lkml.org/lkml/2020/3/11/403
>
> Thanks a lot for your work!
> Arnaud
>
>
> >
> > Tested on ST's mp157c board.
> >
> > Thanks,
> > Mathieu
> >
> > [1]. https://patchwork.kernel.org/project/linux-remoteproc/list/?series=277049
> > [2]. https://patchwork.kernel.org/project/linux-remoteproc/list/?series=239877
> >
> > Mathieu Poirier (12):
> > remoteproc: stm32: Decouple rproc from memory translation
> > remoteproc: stm32: Request IRQ with platform device
> > remoteproc: stm32: Decouple rproc from DT parsing
> > remoteproc: stm32: Remove memory translation from DT parsing
> > remoteproc: stm32: Parse syscon that will manage M4 synchronisation
> > remoteproc: stm32: Get coprocessor state
> > remoteproc: stm32: Get loaded resource table for synchronisation
> > remoteproc: stm32: Introduce new start ops for synchronisation
> > remoteproc: stm32: Update M4 state in stm32_rproc_stop()
> > remoteproc: stm32: Introduce new parse fw ops for synchronisation
> > remoteproc: stm32: Introduce new loaded rsc ops for synchronisation
> > remoteproc: stm32: Set synchronisation state machine if needed
> >
> > drivers/remoteproc/stm32_rproc.c | 262 ++++++++++++++++++++++++++++---
> > 1 file changed, 244 insertions(+), 18 deletions(-)
> >