On Thu, Aug 22, 2024 at 4:40 PM Peng Fan (OSS) <peng.fan@xxxxxxxxxxx> wrote: > > From: Peng Fan <peng.fan@xxxxxxx> > > On some NXP platforms (e.g i.MX7ULP) the poweroff and reboot operations > are done via a separate remote core. > > Typically Linux needs to send a message to the remote core and requests > for poweroff or reboot. > > By default the communication between Linux core and the remote core is > is done via a blocking mailbox mechanism but Linux doesn't allow blocking > operations in the system off (reboot, power off) handlers. > > So, we need to make sure the mailbox message send operations do not block > for this specific operations. Fortunately, Linux allows us to register > handlers that are called in preparation of the system off operations. > > Thus, before carrying the power off or reboot preparations, just destroy > the existing mailboxes and create them as non-blocking. > > Note that power off and restart are totally different operations and are > not complementary. > > We introduce a new flag in the imx remoteproc per device data which tells > us when a device needs this special setup. For now, only imx7ulp needs it. > > Signed-off-by: Peng Fan <peng.fan@xxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxx>