When recovery is triggered, rproc_stop() is called first then rproc_start(), but there is no rproc_unprepare_device() and rproc_prepare_device() in the flow. As the software reset is needed before DSP starts, so move software reset from imx_dsp_runtime_resume() to .load() to make the recovery work. And make sure memory is cleared before loading firmware.
Add call rproc_coredump_set_elf_info() to initialize the elf info for coredump, otherwise coredump will report error "ELF class is not set". changes in v2: - move .reset() from runtime resume to .load() - IRAM and DRAM still in the coredump scope. Shengjiu Wang (2): remoteproc: imx_dsp_rproc: Add support of recovery process remoteproc: imx_dsp_rproc: Add support of coredump drivers/remoteproc/imx_dsp_rproc.c | 45 +++++++++++++++++++----------- 1 file changed, 29 insertions(+), 16 deletions(-) -- 2.34.1

