From: Jay Buddhabhatti <jay.buddhabhatti@amd.com>
To: <michal.simek@amd.com>
Cc: <linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>, <ptsm@linux.microsoft.com>,
<radhey.shyam.pandey@amd.com>,
Jay Buddhabhatti <jay.buddhabhatti@amd.com>
Subject: [PATCH v2 0/3] firmware: xilinx: Clean up firmware and TF-A state on kexec
Date: Fri, 24 Jul 2026 02:52:58 -0700 [thread overview]
Message-ID: <20260724095301.2890001-1-jay.buddhabhatti@amd.com> (raw)
In-Reply-To: <20260723124841.2567827-1-jay.buddhabhatti@amd.com>
During a kexec restart, only the kernel is reloaded while the state held
in TF-A and the platform firmware persists. This leaves the freshly
booted kernel out of sync with the firmware for things like the SGI
number, shutdown scope, allocated peripheral devices and registered
notifier callbacks, which can lead to unexpected behaviour after a
kexec.
Introduce a mechanism to clear the stale firmware/TF-A state so the
reloaded kernel starts from a clean baseline:
- Add TF_A_CLEAR_PM_STATE to clear TF-A specific PM state.
- Add PM_DEV_ALL_PERIPH to release all peripheral devices in one call.
- Add PM_ALL_NOTIFIERS to unregister all notifier callbacks in one call.
On a graceful kexec reboot the cleanup is performed from
zynqmp_firmware_shutdown(); on a crash (kdump) restart it is performed
from zynqmp_firmware_probe() of the reloaded kernel. Each cleanup step
is guarded by a feature check so it degrades gracefully on firmware/TF-A
versions that do not implement the new APIs.
Changes in v2:
- Drop patch 4/4 (feature check improvements) from this series per
review feedback. Those changes are sent separately as:
"[PATCH 1/2] firmware: xilinx: Use TF-A feature check for
TF-A-specific APIs" and "[PATCH 2/2] firmware: xilinx: Propagate
actual error from feature check"
Jay Buddhabhatti (3):
firmware: xilinx: Add support to clear TF-A PM state
firmware: xilinx: Release all peripheral devices from firmware
firmware: xilinx: Clear firmware notifiers across kexec transitions
drivers/firmware/xilinx/zynqmp.c | 77 ++++++++++++++++++++++++++-
include/linux/firmware/xlnx-zynqmp.h | 10 +++-
2 files changed, 83 insertions(+), 4 deletions(-)
--
2.34.1
next prev parent reply other threads:[~2026-07-24 9:53 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-23 12:48 [PATCH 0/4] firmware: xilinx: Clean up firmware and TF-A state on kexec Jay Buddhabhatti
2026-07-23 12:48 ` [PATCH 1/4] firmware: xilinx: Add support to clear TF-A PM state Jay Buddhabhatti
2026-07-23 16:25 ` Pandey, Radhey Shyam
2026-07-24 6:17 ` Prasanna Kumar T S M
2026-07-23 12:48 ` [PATCH 2/4] firmware: xilinx: Release all peripheral devices from firmware Jay Buddhabhatti
2026-07-23 16:25 ` Pandey, Radhey Shyam
2026-07-24 6:17 ` Prasanna Kumar T S M
2026-07-23 12:48 ` [PATCH 3/4] firmware: xilinx: Clear firmware notifiers across kexec transitions Jay Buddhabhatti
2026-07-23 16:27 ` Pandey, Radhey Shyam
2026-07-24 6:18 ` Prasanna Kumar T S M
2026-07-23 12:48 ` [PATCH 4/4] firmware: xilinx: Use TF-A feature check for TF-A specific APIs Jay Buddhabhatti
2026-07-23 16:28 ` Pandey, Radhey Shyam
2026-07-24 6:31 ` Prasanna Kumar T S M
2026-07-24 7:37 ` Buddhabhatti, Jay
2026-07-24 9:52 ` Jay Buddhabhatti [this message]
2026-07-24 9:52 ` [PATCH v2 1/4] firmware: xilinx: Add support to clear TF-A PM state Jay Buddhabhatti
2026-07-24 9:53 ` [PATCH v2 2/4] firmware: xilinx: Release all peripheral devices from firmware Jay Buddhabhatti
2026-07-24 9:53 ` [PATCH v2 3/4] firmware: xilinx: Clear firmware notifiers across kexec transitions Jay Buddhabhatti
2026-07-24 10:19 ` [PATCH v3 0/3] firmware: xilinx: Clean up firmware and TF-A state on kexec Jay Buddhabhatti
2026-07-24 10:19 ` [PATCH v3 1/3] firmware: xilinx: Add support to clear TF-A PM state Jay Buddhabhatti
2026-07-24 11:13 ` Sudeep Holla
2026-07-24 10:19 ` [PATCH v3 2/3] firmware: xilinx: Release all peripheral devices from firmware Jay Buddhabhatti
2026-07-24 10:19 ` [PATCH v3 3/3] firmware: xilinx: Clear firmware notifiers across kexec transitions Jay Buddhabhatti
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260724095301.2890001-1-jay.buddhabhatti@amd.com \
--to=jay.buddhabhatti@amd.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michal.simek@amd.com \
--cc=ptsm@linux.microsoft.com \
--cc=radhey.shyam.pandey@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox