[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250806-v1-fix-am62-hmp-suspend-v1-1-1c4a81bb5dde@toradex.com>
Date: Wed, 06 Aug 2025 14:48:17 -0300
From: Hiago De Franco <hiagofranco@...il.com>
To: Bjorn Andersson <andersson@...nel.org>,
Mathieu Poirier <mathieu.poirier@...aro.org>
Cc: Andrew Davis <afd@...com>, Beleswar Prasad Padhi <b-padhi@...com>,
linux-remoteproc@...r.kernel.org, linux-kernel@...r.kernel.org,
Hiago De Franco <hiago.franco@...adex.com>
Subject: [PATCH] remoteproc: ti_k3_common: remove remote processor mailbox
ping
From: Hiago De Franco <hiago.franco@...adex.com>
As of today, pinging the remote processor during k3_rproc_request_mbox()
does not have any functional effect. This behavior was originally based on
the OMAP remoteproc driver, where the idea was to send messages such as
suspend requests (among others) to the remote processor, but this was
never upstreamed.
Currently, the ping message has no effect in upstream usage and causes an
unread message to remain in the mailbox, which ultimately prevents the
system from entering suspend mode:
Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
printk: Suspending console(s) (use no_console_suspend to debug)
omap-mailbox 29000000.mailbox: fifo 1 has unexpected unread messages
omap-mailbox 29000000.mailbox: PM: dpm_run_callback(): platform_pm_suspend returns -16
omap-mailbox 29000000.mailbox: PM: failed to suspend: error -16
The ping is only replied if the remote core firmware is capable of doing
it, otherwise the unread message stays into the mailbox.
Remove the ping and fix the suspend issue.
Suggested-by: Andrew Davis <afd@...com>
Signed-off-by: Hiago De Franco <hiago.franco@...adex.com>
---
Hi,
this is the result patch of the discussion from
https://lore.kernel.org/lkml/20250725150713.barg5lhqr4reoxv3@hiagonb/
---
drivers/remoteproc/ti_k3_common.c | 15 ---------------
1 file changed, 15 deletions(-)
diff --git a/drivers/remoteproc/ti_k3_common.c b/drivers/remoteproc/ti_k3_common.c
index d4f20900f33bdd92a59c62d0a7b166c4ad66ed16..8266e11914af87ac38977763099521dee4334348 100644
--- a/drivers/remoteproc/ti_k3_common.c
+++ b/drivers/remoteproc/ti_k3_common.c
@@ -160,7 +160,6 @@ int k3_rproc_request_mbox(struct rproc *rproc)
struct k3_rproc *kproc = rproc->priv;
struct mbox_client *client = &kproc->client;
struct device *dev = kproc->dev;
- int ret;
client->dev = dev;
client->tx_done = NULL;
@@ -173,20 +172,6 @@ int k3_rproc_request_mbox(struct rproc *rproc)
return dev_err_probe(dev, PTR_ERR(kproc->mbox),
"mbox_request_channel failed\n");
- /*
- * Ping the remote processor, this is only for sanity-sake for now;
- * there is no functional effect whatsoever.
- *
- * Note that the reply will _not_ arrive immediately: this message
- * will wait in the mailbox fifo until the remote processor is booted.
- */
- ret = mbox_send_message(kproc->mbox, (void *)RP_MBOX_ECHO_REQUEST);
- if (ret < 0) {
- dev_err(dev, "mbox_send_message failed (%pe)\n", ERR_PTR(ret));
- mbox_free_channel(kproc->mbox);
- return ret;
- }
-
return 0;
}
EXPORT_SYMBOL_GPL(k3_rproc_request_mbox);
---
base-commit: 6bcdbd62bd56e6d7383f9e06d9d148935b3c9b73
change-id: 20250805-v1-fix-am62-hmp-suspend-aed6a8de0225
Best regards,
--
Hiago De Franco <hiago.franco@...adex.com>
Powered by blists - more mailing lists