[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251008190907.181412-1-vvidwans@nvidia.com>
Date: Wed, 8 Oct 2025 19:09:04 +0000
From: Vedashree Vidwans <vvidwans@...dia.com>
To: <salman.nabi@....com>, <lpieralisi@...nel.org>, <mark.rutland@....com>,
<sudeep.holla@....com>, <andre.przywara@....com>
CC: <ardb@...nel.org>, <chao.gao@...el.com>,
<linux-arm-kernel@...ts.infradead.org>, <linux-coco@...ts.linux.dev>,
<linux-kernel@...r.kernel.org>, <sdonthineni@...dia.com>,
<vsethi@...dia.com>, <vwadekar@...dia.com>, Vedashree Vidwans
<vvidwans@...dia.com>
Subject: [RFC PATCH 0/3] Arm LFA: Improvements and interrupt support
Hello,
These patches update the proposed Arm Live Firmware Activation (LFA)
kernel driver [2] introducing several enhancements and improvements as
outlined below:
SMCCC version 1.2 or later;
As per the specification [1], use SMC 1.2 to invoke ABI implemented
by the LFA Agent.
Interrupt-Based Enablement Support:
The patch extends the proposed LFA kernel driver to support
interrupt-based enablement, as described in the specification [1].
An interrupt thread function will query available firmware details
and trigger activation of qualified firmware components. This approach
allows the driver to respond more efficiently to hardware events and
improves overall firmware management.
Mutex Synchronization:
To prevent concurrent firmware updates by interrupt and sysfs
interfaces, mutex synchronization methods have been implemented.
This ensures that firmware operations are serialized, maintaining data
integrity and preventing race conditions during the update process.
Polling and Timeout Enhancements in PRIME / ACTIVATE Stages:
The patch introduces polling mechanisms and timeout controls during the
PRIME / ACTIVATE stages of firmware activation. The driver now
periodically polls with a delay to check the status. Additionally,
overall timeouts for PRIME / ACTIVATE have been implemented to guarantee
that the process completes within expected time limits. The initial
timeout values are deliberately set to be generous, and further tuning
will be performed after thorough testing.
PRIME / ACTIVATE FW components:
Interrupt-based LFA allows OS to trigger LFA for all activable FW
components. Initially, FW components are primed then activated
successively. The later patch modifies the PRIME / ACTIVATE stage
to prime all activable FW components followed by activation of each
FW component. This minimizes the time with combination of old and new
FW components co-exist.
Thank you,
Veda
[1] https://developer.arm.com/documentation/den0147/latest/
[2] https://lore.kernel.org/lkml/20250926123145.268728-1-salman.nabi@arm.com/
Vedashree Vidwans (3):
firmware: smccc: LFA: use smcc 1.2
firmware: smccc: LFA: refactor, add device node support
firmware: smccc: LFA: modify activation approach
drivers/firmware/smccc/lfa_fw.c | 429 +++++++++++++++++++++++++++-----
1 file changed, 372 insertions(+), 57 deletions(-)
--
2.25.1
Powered by blists - more mailing lists