mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-05-08 18:41:22 +00:00
feat(psci): introduce 'pwr_domain_off_early' hook
This patch introduces the 'pwr_domain_off_early' hook for platforms wanting to perform housekeeping steps before the PSCI framework starts the CPU power off sequence. Platforms might also want to use ths opportunity to ensure that the CPU off sequence can proceed. The PSCI framework expects a return code of PSCI_E_DENIED, if the platform wants to halt the CPU off sequence. Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: I6980e84fc4d6cb80537a178d0d3d26fb28a13853
This commit is contained in:
parent
d5f19c49ba
commit
6cf4ae979a
3 changed files with 32 additions and 0 deletions
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
* Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved.
|
||||
* Copyright (c) 2023, NVIDIA Corporation. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
@ -56,6 +57,19 @@ int psci_do_cpu_off(unsigned int end_pwrlvl)
|
|||
/* Construct the psci_power_state for CPU_OFF */
|
||||
psci_set_power_off_state(&state_info);
|
||||
|
||||
/*
|
||||
* Call the platform provided early CPU_OFF handler to allow
|
||||
* platforms to perform any housekeeping activities before
|
||||
* actually powering the CPU off. PSCI_E_DENIED indicates that
|
||||
* the CPU off sequence should be aborted at this time.
|
||||
*/
|
||||
if (psci_plat_pm_ops->pwr_domain_off_early) {
|
||||
rc = psci_plat_pm_ops->pwr_domain_off_early(&state_info);
|
||||
if (rc == PSCI_E_DENIED) {
|
||||
return rc;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the parent nodes here, this is important to do before we
|
||||
* initiate the power down sequence as after that point the core may
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue