Message ID | 20200221101936.16833-14-t-kristo@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | remoteproc: updates for omap remoteproc support | expand |
On Fri, Feb 21, 2020 at 12:19:34PM +0200, Tero Kristo wrote: > From: Suman Anna <s-anna@ti.com> > > The OMAP remote processors send a special mailbox message > (RP_MBOX_CRASH) when they crash and detect an internal device > exception. > > Add support to the mailbox handling function upon detection of > this special message to report this crash to the remoteproc core. > The remoteproc core can trigger a recovery using the prevailing > recovery mechanism, already in use for MMU Fault recovery. > > Co-developed-by: Subramaniam Chanderashekarapuram <subramaniam.ca@ti.com> > Signed-off-by: Subramaniam Chanderashekarapuram <subramaniam.ca@ti.com> > Signed-off-by: Suman Anna <s-anna@ti.com> > Signed-off-by: Tero Kristo <t-kristo@ti.com> > Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Acked-by: Mathieu Poirier <mathieu.poirier@linaro.org> > --- > drivers/remoteproc/omap_remoteproc.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/remoteproc/omap_remoteproc.c b/drivers/remoteproc/omap_remoteproc.c > index 1ac270df4d66..7dcb5da0d940 100644 > --- a/drivers/remoteproc/omap_remoteproc.c > +++ b/drivers/remoteproc/omap_remoteproc.c > @@ -383,8 +383,12 @@ static void omap_rproc_mbox_callback(struct mbox_client *client, void *data) > > switch (msg) { > case RP_MBOX_CRASH: > - /* just log this for now. later, we'll also do recovery */ > + /* > + * remoteproc detected an exception, notify the rproc core. > + * The remoteproc core will handle the recovery. > + */ > dev_err(dev, "omap rproc %s crashed\n", name); > + rproc_report_crash(oproc->rproc, RPROC_FATAL_ERROR); > break; > case RP_MBOX_ECHO_REPLY: > dev_info(dev, "received echo reply from %s\n", name); > -- > 2.17.1 > > -- > Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
diff --git a/drivers/remoteproc/omap_remoteproc.c b/drivers/remoteproc/omap_remoteproc.c index 1ac270df4d66..7dcb5da0d940 100644 --- a/drivers/remoteproc/omap_remoteproc.c +++ b/drivers/remoteproc/omap_remoteproc.c @@ -383,8 +383,12 @@ static void omap_rproc_mbox_callback(struct mbox_client *client, void *data) switch (msg) { case RP_MBOX_CRASH: - /* just log this for now. later, we'll also do recovery */ + /* + * remoteproc detected an exception, notify the rproc core. + * The remoteproc core will handle the recovery. + */ dev_err(dev, "omap rproc %s crashed\n", name); + rproc_report_crash(oproc->rproc, RPROC_FATAL_ERROR); break; case RP_MBOX_ECHO_REPLY: dev_info(dev, "received echo reply from %s\n", name);