arm-trusted-firmware/include
Wing Li d34886140c fix(psci): add optional pwr_domain_validate_suspend to plat_psci_ops_t
This patch adds a new optional member `pwr_domain_validate_suspend` to
the `plat_psci_ops_t` structure that allows a platform to optionally
perform platform specific validations in OS-initiated mode. This is
conditionally compiled into the build depending on the value of the
`PSCI_OS_INIT_MODE` build option.

In https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/17682,
the return type of the `pwr_domain_suspend` handler was updated from
`void` to `int` to allow a platform to optionally perform platform
specific validations in OS-initiated mode. However, when an error code
other than `PSCI_E_SUCCESS` is returned, the current exit path does not
undo the operations in `psci_suspend_to_pwrdown_start`, and as a result,
the system ends up in an unexpected state.

The fix in this patch prevents the need to undo the operations in
`psci_suspend_to_pwrdown_start`, by allowing the platform to first
perform any necessary platform specific validations before the PSCI
generic code proceeds to the point of no return where the CPU_SUSPEND
request is expected to complete successfully.

Change-Id: I05d92c7ea3f5364da09af630d44d78252185db20
Signed-off-by: Wing Li <wingers@google.com>
2023-05-31 23:54:19 -07:00
..
arch Merge changes I1bfa797e,I0ec7a70e into integration 2023-05-09 22:05:52 +02:00
bl1 style: remove useless trailing semicolon and line continuations 2023-03-09 14:59:08 +01:00
bl2 BL2_AT_EL3: Enable pointer authentication support 2019-02-27 11:58:09 +00:00
bl2u Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
bl31 fix(tree): correct some typos 2023-05-09 15:57:12 +01:00
bl32 refactor(libc): clean up dependencies in libc 2022-09-22 13:23:49 +02:00
common fix(uuid): add missing #include directives 2023-04-17 16:13:16 +01:00
drivers Merge changes I1bfa797e,I0ec7a70e into integration 2023-05-09 22:05:52 +02:00
dt-bindings feat(dt-bindings): add TZC400 bindings for STM32MP13 2022-03-22 09:09:23 +01:00
export chore: use tabs for indentation 2022-09-12 15:12:01 -07:00
lib fix(psci): add optional pwr_domain_validate_suspend to plat_psci_ops_t 2023-05-31 23:54:19 -07:00
plat fix: increase BL32 limit 2023-05-11 10:04:04 +02:00
services Merge changes I31ec0001,Ib06cd024,I7c11f15d,Ie0d5d4c8,I285f3b59, ... into integration 2023-05-25 12:35:46 +02:00
tools_share fix(uuid): add missing #include directives 2023-04-17 16:13:16 +01:00