All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/2] remoteproc: imx_rproc: support non-blocking tx for i.MX7ULP
@ 2024-08-22 13:48 Peng Fan (OSS)
  2024-08-22 13:48 ` [PATCH v3 1/2] remoteproc: imx_rproc: Allow setting of the mailbox transmit mode Peng Fan (OSS)
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Peng Fan (OSS) @ 2024-08-22 13:48 UTC (permalink / raw)
  To: Bjorn Andersson, Mathieu Poirier, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Daniel Baluta,
	Iuliana Prodan, Marek Vasut
  Cc: linux-remoteproc, imx, linux-arm-kernel, linux-kernel, Peng Fan

The i.MX7ULP Cortex-A7 is under control of Cortex-M4. The i.MX7ULP Linux
poweroff and restart rely on rpmsg driver to send a message to Cortex-M4
firmware. Then Cortex-A7 could poweroff or restart by Cortex-M4 to
configure the i.MX7ULP power controller properly.

However the reboot and restart kernel common code use atomic notifier,
see kernel/reboot.c: do_kernel_power_off, do_kernel_restart.
Linux 'poweroff' cmd will trigger kernel 'do_kernel_power_off'
Linux 'reboot' cmd will trigger kernel 'do_kernel_restart'.

Power off and restart are totally different operations and are not
complementary. So need to make sure the mailbox be changed to non-blocking
mode in SYS_OFF_MODE_POWER_OFF_PREPARE and SYS_OFF_MODE_RESTART_PREPARE
stage. Otherwise with blocking tx mailbox, there will be kernel dump,
because of blocking mailbox will use wait_for_completion_timeout. In the
poweroff or restart case, there is no need to wait, because after M4 got
the message, M4 will put A7 to reboot or poweroff.

patch 1 is to support non-blocking tx mailbox channel
patch 2 is to switch to non-blocking tx for system poweroff or restart.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
Changes in v3:
- patch 2: Introduce an flags entry for dcfg and set IMX_RPROC_NEED_SYSTEM_OFF
  for i.MX7ULP, drop used "struct sys_off_data data" and add comment(per Frank).
  Drop R-b of patch 2 because of this change.
- Patch 1: commit log rewritten and R-b dropped.
  (Thanks to Daniel).
- Update patch 2 commit log and cover-letter to clarify reboot and
  poweroff are different operations and not complementary 
  (Thanks to Daniel).
- Link to v2: https://lore.kernel.org/r/20240719-imx_rproc-v2-0-cd8549aa3f1f@nxp.com

Changes in v2:
- Separated patch 5,6 from v1
- Update commit patch 1 with adding "No functional changes"
- Link to v1: https://lore.kernel.org/r/20240712-imx_rproc-v1-0-7bcf6732d328@nxp.com

---
Peng Fan (2):
      remoteproc: imx_rproc: Allow setting of the mailbox transmit mode
      remoteproc: imx_rproc: Add support for poweroff and reboot

 drivers/remoteproc/imx_rproc.c | 54 +++++++++++++++++++++++++++++++++++++-----
 drivers/remoteproc/imx_rproc.h |  4 ++++
 2 files changed, 52 insertions(+), 6 deletions(-)
---
base-commit: 33a32de2d79c051f27ed57c4ac90cdb406f91928
change-id: 20240712-imx_rproc-25f3ab753c58

Best regards,
-- 
Peng Fan <peng.fan@nxp.com>


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-08-26 15:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-22 13:48 [PATCH v3 0/2] remoteproc: imx_rproc: support non-blocking tx for i.MX7ULP Peng Fan (OSS)
2024-08-22 13:48 ` [PATCH v3 1/2] remoteproc: imx_rproc: Allow setting of the mailbox transmit mode Peng Fan (OSS)
2024-08-23  8:11   ` Daniel Baluta
2024-08-22 13:48 ` [PATCH v3 2/2] remoteproc: imx_rproc: Add support for poweroff and reboot Peng Fan (OSS)
2024-08-23  8:12   ` Daniel Baluta
2024-08-26 15:31 ` [PATCH v3 0/2] remoteproc: imx_rproc: support non-blocking tx for i.MX7ULP Mathieu Poirier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.