[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAA+D8ANtw1xTg7OQOFoDeQcdp05Eo9Uo1t=MKcGjtkSYfJqBVw@mail.gmail.com>
Date: Wed, 2 Jul 2025 15:20:34 +0800
From: Shengjiu Wang <shengjiu.wang@...il.com>
To: Mathieu Poirier <mathieu.poirier@...aro.org>
Cc: Shengjiu Wang <shengjiu.wang@....com>, 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,
iuliana.prodan@....com, daniel.baluta@....com
Subject: Re: [PATCH 2/2] remoteproc: imx_dsp_rproc: Add support of coredump
On Tue, Jul 1, 2025 at 11:27 PM Mathieu Poirier
<mathieu.poirier@...aro.org> wrote:
>
> On Tue, Jul 01, 2025 at 10:28:33AM +0800, Shengjiu Wang wrote:
> > On Tue, Jul 1, 2025 at 1:05 AM Mathieu Poirier
> > <mathieu.poirier@...aro.org> wrote:
> > >
> > > On Wed, Jun 18, 2025 at 02:26:44PM +0800, Shengjiu Wang wrote:
> > > > Add call rproc_coredump_set_elf_info() to initialize the elf info for
> > > > coredump, otherwise coredump will report an error "ELF class is not set".
> > > >
> > > > Remove the DSP IRAM and DRAM segment in coredump list, because after
> > > > stop, DSP power is disabled, the IRAM and DRAM can't be accessed.
> > > >
> > > > Signed-off-by: Shengjiu Wang <shengjiu.wang@....com>
> > > > ---
> > > > drivers/remoteproc/imx_dsp_rproc.c | 6 +++---
> > > > 1 file changed, 3 insertions(+), 3 deletions(-)
> > > >
> > > > diff --git a/drivers/remoteproc/imx_dsp_rproc.c b/drivers/remoteproc/imx_dsp_rproc.c
> > > > index 9b9cddb224b0..9e7efb77b6e5 100644
> > > > --- a/drivers/remoteproc/imx_dsp_rproc.c
> > > > +++ b/drivers/remoteproc/imx_dsp_rproc.c
> > > > @@ -738,9 +738,7 @@ static int imx_dsp_rproc_add_carveout(struct imx_dsp_rproc *priv)
> > > > mem = rproc_mem_entry_init(dev, (void __force *)cpu_addr, (dma_addr_t)att->sa,
> > > > att->size, da, NULL, NULL, "dsp_mem");
> > > >
> > > > - if (mem)
> > > > - rproc_coredump_add_segment(rproc, da, att->size);
> > > > - else
> > > > + if (!mem)
> > >
> > > Flag rproc->recovery_disabled is never set to true, meaning that since this
> > > driver was introduced, some kind of recovery was available.
> >
> > Actually since this driver was introduced, the recovery can't work.
> > We didn't test the recovery function before. sorry for the mistake.
>
> Let me see if I get this right:
>
> (1) Almost 5 years ago you sent me a driver with code you did not test.
Driver was tested but missed the recovery/coredump function.
> (2) It took all this time to realize and fix the problem.
I just realized that the recovery/coredump is one of the functions supported
by remoteproc.
> (3) I should trust that, this time, you have tested your code.
recovery/coredump has been tested.
Best regards
Shengjiu Wang
>
> Did I understand all that correctly?
>
> >
> > >
> > > I worry that your work will introduce regression for other users. Daniel and
> > > Iuliana, once again have to ask you to look at this patchset.
> > >
> > > Thanks,
> > > Mathieu
> > >
> > > > return -ENOMEM;
> > > >
> > > > rproc_add_carveout(rproc, mem);
> > > > @@ -1203,6 +1201,8 @@ static int imx_dsp_rproc_probe(struct platform_device *pdev)
> > > > goto err_detach_domains;
> > > > }
> > > >
> > > > + rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_XTENSA);
> > > > +
> > > > pm_runtime_enable(dev);
> > > >
> > > > return 0;
> > > > --
> > > > 2.34.1
> > > >
> > >
Powered by blists - more mailing lists