drivers/firmware/smccc/Kconfig | 3 +- drivers/firmware/smccc/lfa_fw.c | 478 +++++++++++++++++++++++++------- 2 files changed, 380 insertions(+), 101 deletions(-)
Hello, The patches update the proposed Arm Live Firmware Activation (LFA) kernel driver [1] to incorporate review feedback [2] and refine the activation flow while remaining aligned with the LFA specification DEN0147 [3] and the SMCCC 1.2 calling convention. The series keeps the existing functionality but restructures and extends it to improve robustness, reviewability, and future extensibility. The SMCCC usage in the driver is updated to consistently use the SMCCC 1.2 register-based calling convention, consolidating arguments and results into a single struct to reduce stack usage and simplify the SMC interface. The patches also split the original changes into focused pieces and document the device node bindings in the commit messages, making it easier to follow and validate the implementation against the specification. The kernel driver is registered as a platform driver in accordence to the LFA device defined by the specification [3]. The driver now extends interface for interrupt-based enablement of LFA. During LFA, the interrupt thread refreshes firmware component details after each activation step and iterates over all activable components until no further activation is pending, matching the spec’s allowance for component detail changes after activation. This ensures that sysfs exposure of LFA components remains consistent with the authoritative information provided by the secure firmware. The handling of CPU rendezvous is adjusted so that the kernel now honors the rendezvous policy chosen by the firmware, instead of unconditionally forcing a rendezvous. This reflects experience with existing firmware deployments where mandatory rendezvous is not required, while still allowing the firmware to request it when needed. Thank you, Veda [1] https://lore.kernel.org/lkml/20250926123145.268728-1-salman.nabi@arm.com/ [2] https://lkml.org/lkml/2025/10/8/980 [3] https://developer.arm.com/documentation/den0147/latest/ Vedashree Vidwans (5): firmware: smccc: LFA: use smcc 1.2 firmware: smccc: LFA: refactor firmware: smccc: add timeout, touch wdt firmware: smccc: register as platform driver firmware: smccc: lfa: refresh fw details drivers/firmware/smccc/Kconfig | 3 +- drivers/firmware/smccc/lfa_fw.c | 478 +++++++++++++++++++++++++------- 2 files changed, 380 insertions(+), 101 deletions(-) -- 2.43.0
On Mon, Dec 08, 2025 at 10:13:10PM +0000, Vedashree Vidwans wrote: > Hello, > > The patches update the proposed Arm Live Firmware Activation (LFA) > kernel driver [1] to incorporate review feedback [2] and refine the > activation flow while remaining aligned with the LFA specification > DEN0147 [3] and the SMCCC 1.2 calling convention. The series keeps > the existing functionality but restructures and extends it to improve > robustness, reviewability, and future extensibility. > > The SMCCC usage in the driver is updated to consistently use the > SMCCC 1.2 register-based calling convention, consolidating arguments > and results into a single struct to reduce stack usage and simplify > the SMC interface. The patches also split the original changes into > focused pieces and document the device node bindings in the commit > messages, making it easier to follow and validate the implementation > against the specification. > > The kernel driver is registered as a platform driver in accordence to > the LFA device defined by the specification [3]. The driver now extends > interface for interrupt-based enablement of LFA. During LFA, the > interrupt > thread refreshes firmware component details after each activation step > and iterates over all activable components until no further activation > is pending, matching the spec’s allowance for component detail changes > after activation. This ensures that sysfs exposure of LFA components > remains consistent with the authoritative information provided by the > secure firmware. > > The handling of CPU rendezvous is adjusted so that the kernel now > honors the rendezvous policy chosen by the firmware, instead of > unconditionally forcing a rendezvous. This reflects experience with > existing firmware deployments where mandatory rendezvous is not > required, while still allowing the firmware to request it when > needed. > > Thank you, > Veda > > [1] https://lore.kernel.org/lkml/20250926123145.268728-1-salman.nabi@arm.com/ > [2] https://lkml.org/lkml/2025/10/8/980 > [3] https://developer.arm.com/documentation/den0147/latest/ > > Vedashree Vidwans (5): > firmware: smccc: LFA: use smcc 1.2 > firmware: smccc: LFA: refactor > firmware: smccc: add timeout, touch wdt > firmware: smccc: register as platform driver > firmware: smccc: lfa: refresh fw details > > drivers/firmware/smccc/Kconfig | 3 +- > drivers/firmware/smccc/lfa_fw.c | 478 +++++++++++++++++++++++++------- Same comment as before[1], looks like the feedback got ignored or missed. -- Regards, Sudeep [1] https://lore.kernel.org/all/20251009-calculating-glorious-oriole-ceccf6@sudeepholla
On 12/9/25 03:39, Sudeep Holla wrote: > On Mon, Dec 08, 2025 at 10:13:10PM +0000, Vedashree Vidwans wrote: >> Hello, >> >> The patches update the proposed Arm Live Firmware Activation (LFA) >> kernel driver [1] to incorporate review feedback [2] and refine the >> activation flow while remaining aligned with the LFA specification >> DEN0147 [3] and the SMCCC 1.2 calling convention. The series keeps >> the existing functionality but restructures and extends it to improve >> robustness, reviewability, and future extensibility. >> >> The SMCCC usage in the driver is updated to consistently use the >> SMCCC 1.2 register-based calling convention, consolidating arguments >> and results into a single struct to reduce stack usage and simplify >> the SMC interface. The patches also split the original changes into >> focused pieces and document the device node bindings in the commit >> messages, making it easier to follow and validate the implementation >> against the specification. >> >> The kernel driver is registered as a platform driver in accordence to >> the LFA device defined by the specification [3]. The driver now extends >> interface for interrupt-based enablement of LFA. During LFA, the >> interrupt >> thread refreshes firmware component details after each activation step >> and iterates over all activable components until no further activation >> is pending, matching the spec’s allowance for component detail changes >> after activation. This ensures that sysfs exposure of LFA components >> remains consistent with the authoritative information provided by the >> secure firmware. >> >> The handling of CPU rendezvous is adjusted so that the kernel now >> honors the rendezvous policy chosen by the firmware, instead of >> unconditionally forcing a rendezvous. This reflects experience with >> existing firmware deployments where mandatory rendezvous is not >> required, while still allowing the firmware to request it when >> needed. >> >> Thank you, >> Veda >> >> [1] https://lore.kernel.org/lkml/20250926123145.268728-1-salman.nabi@arm.com/ >> [2] https://lkml.org/lkml/2025/10/8/980 >> [3] https://developer.arm.com/documentation/den0147/latest/ >> >> Vedashree Vidwans (5): >> firmware: smccc: LFA: use smcc 1.2 >> firmware: smccc: LFA: refactor >> firmware: smccc: add timeout, touch wdt >> firmware: smccc: register as platform driver >> firmware: smccc: lfa: refresh fw details >> >> drivers/firmware/smccc/Kconfig | 3 +- >> drivers/firmware/smccc/lfa_fw.c | 478 +++++++++++++++++++++++++------- > > Same comment as before[1], looks like the feedback got ignored or missed. > > -- > Regards, > Sudeep > > [1]https://lore.kernel.org/all/20251009-calculating-glorious-oriole- > ceccf6@sudeepholla Thank you for your comment. I did include DT binding in commit message of the patch. Please let me know if there's anything else I can elaborate. Regards, Veda
On Fri, Dec 19, 2025 at 12:38:39AM -0800, Vedashree Vidwans wrote: > > > On 12/9/25 03:39, Sudeep Holla wrote: > > On Mon, Dec 08, 2025 at 10:13:10PM +0000, Vedashree Vidwans wrote: > > > Hello, > > > > > > The patches update the proposed Arm Live Firmware Activation (LFA) > > > kernel driver [1] to incorporate review feedback [2] and refine the > > > activation flow while remaining aligned with the LFA specification > > > DEN0147 [3] and the SMCCC 1.2 calling convention. The series keeps > > > the existing functionality but restructures and extends it to improve > > > robustness, reviewability, and future extensibility. > > > > > > The SMCCC usage in the driver is updated to consistently use the > > > SMCCC 1.2 register-based calling convention, consolidating arguments > > > and results into a single struct to reduce stack usage and simplify > > > the SMC interface. The patches also split the original changes into > > > focused pieces and document the device node bindings in the commit > > > messages, making it easier to follow and validate the implementation > > > against the specification. > > > > > > The kernel driver is registered as a platform driver in accordence to > > > the LFA device defined by the specification [3]. The driver now extends > > > interface for interrupt-based enablement of LFA. During LFA, the > > > interrupt > > > thread refreshes firmware component details after each activation step > > > and iterates over all activable components until no further activation > > > is pending, matching the spec’s allowance for component detail changes > > > after activation. This ensures that sysfs exposure of LFA components > > > remains consistent with the authoritative information provided by the > > > secure firmware. > > > > > > The handling of CPU rendezvous is adjusted so that the kernel now > > > honors the rendezvous policy chosen by the firmware, instead of > > > unconditionally forcing a rendezvous. This reflects experience with > > > existing firmware deployments where mandatory rendezvous is not > > > required, while still allowing the firmware to request it when > > > needed. > > > > > > Thank you, > > > Veda > > > > > > [1] https://lore.kernel.org/lkml/20250926123145.268728-1-salman.nabi@arm.com/ > > > [2] https://lkml.org/lkml/2025/10/8/980 > > > [3] https://developer.arm.com/documentation/den0147/latest/ > > > > > > Vedashree Vidwans (5): > > > firmware: smccc: LFA: use smcc 1.2 > > > firmware: smccc: LFA: refactor > > > firmware: smccc: add timeout, touch wdt > > > firmware: smccc: register as platform driver > > > firmware: smccc: lfa: refresh fw details > > > > > > drivers/firmware/smccc/Kconfig | 3 +- > > > drivers/firmware/smccc/lfa_fw.c | 478 +++++++++++++++++++++++++------- > > > > Same comment as before[1], looks like the feedback got ignored or missed. > > > > -- > > Regards, > > Sudeep > > > > [1]https://lore.kernel.org/all/20251009-calculating-glorious-oriole-ceccf6@sudeepholla > > Thank you for your comment. > I did include DT binding in commit message of the patch. Please let me know > if there's anything else I can elaborate. > Sure. I meant I don't see any patch titled "dt-bindings: firmware: Add LFA...." or something similar. I also checked the delta for the files under Documentation/devicetree/bindings/ to rule out the possibility that the patch title may not be following the DT binding upstreaming process. -- Regards, Sudeep
Hi Vedashree, thanks for your efforts on this, and sorry for the delay on our side. We were hold up by a combination of spec changes and non-overlapping holidays. On 08/12/2025 22:13, Vedashree Vidwans wrote: > Hello, > > The patches update the proposed Arm Live Firmware Activation (LFA) > kernel driver [1] to incorporate review feedback [2] and refine the > activation flow while remaining aligned with the LFA specification > DEN0147 [3] and the SMCCC 1.2 calling convention. The series keeps > the existing functionality but restructures and extends it to improve > robustness, reviewability, and future extensibility. I would propose we change that approach a bit. We have updated and improved the driver internally, but were waiting for the new version of the spec (BET1) to be released, which happened some weeks ago. Salman will send out a new version of the driver in the next few days. Anything that is a bug (like the omission of the SMCCC v1.2 interface) will be addressed there, as there is no point to merge with a known buggy base patch. Also we will incorporate the changes we made so far, including adjustments for the new spec version. Anything that can be added as independent patches should be done so, I think for instance the interrupt support is such a candidate. Ideally you can rebase your series on the changed base patch once this has been posted. For other things like the platform driver introduction we can use your series here as a discussion base, as it allows us to reason and discuss this easier than by looking at a from-scratch patch. Does this make sense? Also please note that the DT and ACPI part has changed in the latest version of the spec. I will send a DT binding patch ASAP, to get this part out of the way. Cheers, Andre > > The SMCCC usage in the driver is updated to consistently use the > SMCCC 1.2 register-based calling convention, consolidating arguments > and results into a single struct to reduce stack usage and simplify > the SMC interface. The patches also split the original changes into > focused pieces and document the device node bindings in the commit > messages, making it easier to follow and validate the implementation > against the specification. > > The kernel driver is registered as a platform driver in accordence to > the LFA device defined by the specification [3]. The driver now extends > interface for interrupt-based enablement of LFA. During LFA, the > interrupt > thread refreshes firmware component details after each activation step > and iterates over all activable components until no further activation > is pending, matching the spec’s allowance for component detail changes > after activation. This ensures that sysfs exposure of LFA components > remains consistent with the authoritative information provided by the > secure firmware. > > The handling of CPU rendezvous is adjusted so that the kernel now > honors the rendezvous policy chosen by the firmware, instead of > unconditionally forcing a rendezvous. This reflects experience with > existing firmware deployments where mandatory rendezvous is not > required, while still allowing the firmware to request it when > needed. > > Thank you, > Veda > > [1] https://lore.kernel.org/lkml/20250926123145.268728-1-salman.nabi@arm.com/ > [2] https://lkml.org/lkml/2025/10/8/980 > [3] https://developer.arm.com/documentation/den0147/latest/ > > Vedashree Vidwans (5): > firmware: smccc: LFA: use smcc 1.2 > firmware: smccc: LFA: refactor > firmware: smccc: add timeout, touch wdt > firmware: smccc: register as platform driver > firmware: smccc: lfa: refresh fw details > > drivers/firmware/smccc/Kconfig | 3 +- > drivers/firmware/smccc/lfa_fw.c | 478 +++++++++++++++++++++++++------- > 2 files changed, 380 insertions(+), 101 deletions(-) >
© 2016 - 2026 Red Hat, Inc.