[PATCH v3] remoteproc: imx_dsp_rproc: Add support of recovery and coredump process
Iuliana Prodan
iuliana.prodan at nxp.com
Tue Jul 29 05:33:23 PDT 2025
On 7/29/2025 4:33 AM, Shengjiu Wang wrote:
> On Mon, Jul 28, 2025 at 11:09 PM Iuliana Prodan <iuliana.prodan at nxp.com> wrote:
>>
>> 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 at nxp.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 at nxp.com>
>>>>
>>>> Changes looks good to me:
>>
>> I agree, but this is not enough.
>>
>>>>
>>>> Reviewed-by: Daniel Baluta <daniel.baluta at nxp.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?
>
> No. it is a different issue.
> You can send it to the mailbox maintainer for review.
>
Ok, sure. I can send it separately.
Thanks,
Iulia
> Best regards
> Shengjiu Wang
>
>>
>> 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
More information about the linux-arm-kernel
mailing list