Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
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



  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