[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <12184ce7-e74b-48eb-abee-25f8a10a2423@nxp.com>
Date: Mon, 28 Jul 2025 18:09:02 +0300
From: Iuliana Prodan <iuliana.prodan@....com>
To: Mathieu Poirier <mathieu.poirier@...aro.org>,
Shengjiu Wang <shengjiu.wang@....com>,
Daniel Baluta <daniel.baluta@...il.com>
Cc: andersson@...nel.org, shawnguo@...nel.org, s.hauer@...gutronix.de,
kernel@...gutronix.de, festevam@...il.com, linux-remoteproc@...r.kernel.org,
imx@...ts.linux.dev, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, jassisinghbrar@...il.com
Subject: Re: [PATCH v3] remoteproc: imx_dsp_rproc: Add support of recovery and
coredump process
On 7/28/2025 5:14 PM, Mathieu Poirier wrote:
> On Mon, Jul 28, 2025 at 01:39:38PM +0300, Daniel Baluta wrote:
>> On Tue, Jul 22, 2025 at 11:16 AM Shengjiu Wang <shengjiu.wang@....com> wrote:
>>>
>>> When enabled FW recovery, but is broken because software reset is missed
>>> in this recovery flow. So move software reset from
>>> imx_dsp_runtime_resume() to .load() and clear memory before loading
>>> firmware to make recovery work.
>>>
>>> Add call rproc_coredump_set_elf_info() to initialize the elf info for
>>> coredump, otherwise coredump will report error "ELF class is not set".
>>>
>>> Fixes: ec0e5549f358 ("remoteproc: imx_dsp_rproc: Add remoteproc driver for DSP on i.MX")
>>> Signed-off-by: Shengjiu Wang <shengjiu.wang@....com>
>>
>> Changes looks good to me:
I agree, but this is not enough.
>>
>> Reviewed-by: Daniel Baluta <daniel.baluta@....com>
>>
>> I've tested it with Zephyr synchronization samples inducing a crash
>> via debugfs interface. App
>> can recover correctly.
The synchronization sample does not utilize the Messaging Unit (MU) for
communication between the two cores, its behavior is similar to the
basic hello_world example (no fw_ready reply is expected by host).
I’ve tested this patch with both the synchronization and hello_world
samples, as well as with the default firmware specified in the device
tree (imx/dsp/hifi4.bin), and everything works as expected.
However, when testing with the openamp_rsc_table sample from Zephyr [1],
I encountered the following issue:
```
[ 1500.964232] remoteproc remoteproc0: crash detected in imx-dsp-rproc:
type watchdog
[ 1500.964595] remoteproc remoteproc0: handling crash #1 in imx-dsp-rproc
[ 1500.964608] remoteproc remoteproc0: recovering imx-dsp-rproc
[ 1500.965959] remoteproc remoteproc0: stopped remote processor
imx-dsp-rproc
[ 1501.251897] remoteproc remoteproc0: can't start rproc imx-dsp-rproc: -110
```
Upon debugging, I discovered that the issue stems from the imx-mailbox
driver not clearing the General Purpose Interrupt (GPI) bits. This leads
to the remote processor failing to restart properly.
To ensure compatibility across all firmware variants, including those
using OpenAMP, the attached patch is required. Both the recovery and
mailbox patches have been successfully tested on the following
platforms: i.MX8MP, i.MX8ULP, i.MX8QM and i.MX8QXP.
Shengjiu, do you want to send a new version with both patches?
Thanks,
Iulia
>
> Very good - I will merge this around 6.17-rc2 when I get back from vacation.
>
> Mathieu
>
[1]
https://github.com/zephyrproject-rtos/zephyr/tree/main/samples/subsys/ipc/openamp_rsc_table
View attachment "0004-mailbox-imx-Clear-pending-bits-for-the-GPIs-that-are.patch" of type "text/plain" (2764 bytes)
Powered by blists - more mailing lists