summaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/psci.h
diff options
context:
space:
mode:
authorUlf Hansson2019-04-10 10:20:25 +0200
committerRafael J. Wysocki2019-04-12 10:59:37 +0200
commit60dd1ead65e83268af9ccd19b97c7011cb50186b (patch)
tree359597d1b83227b0d019dd3fc4e3ebbac8aae589 /include/uapi/linux/psci.h
parentdrivers: firmware: psci: Simplify error path of psci_dt_init() (diff)
downloadkernel-qcow2-linux-60dd1ead65e83268af9ccd19b97c7011cb50186b.tar.gz
kernel-qcow2-linux-60dd1ead65e83268af9ccd19b97c7011cb50186b.tar.xz
kernel-qcow2-linux-60dd1ead65e83268af9ccd19b97c7011cb50186b.zip
drivers: firmware: psci: Announce support for OS initiated suspend mode
PSCI firmware v1.0+, supports two different modes for CPU_SUSPEND. The Platform Coordinated mode, which is the default and mandatory mode, while support for the OS initiated (OSI) mode is optional. In some cases it's interesting for the user/developer to know if the OSI mode is supported by the PSCI FW, so print a message to the log if that is the case. Co-developed-by: Lina Iyer <lina.iyer@linaro.org> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'include/uapi/linux/psci.h')
-rw-r--r--include/uapi/linux/psci.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/uapi/linux/psci.h b/include/uapi/linux/psci.h
index b3bcabe380da..581f72085c33 100644
--- a/include/uapi/linux/psci.h
+++ b/include/uapi/linux/psci.h
@@ -49,6 +49,7 @@
#define PSCI_1_0_FN_PSCI_FEATURES PSCI_0_2_FN(10)
#define PSCI_1_0_FN_SYSTEM_SUSPEND PSCI_0_2_FN(14)
+#define PSCI_1_0_FN_SET_SUSPEND_MODE PSCI_0_2_FN(15)
#define PSCI_1_0_FN64_SYSTEM_SUSPEND PSCI_0_2_FN64(14)
@@ -97,6 +98,10 @@
#define PSCI_1_0_FEATURES_CPU_SUSPEND_PF_MASK \
(0x1 << PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT)
+#define PSCI_1_0_OS_INITIATED BIT(0)
+#define PSCI_1_0_SUSPEND_MODE_PC 0
+#define PSCI_1_0_SUSPEND_MODE_OSI 1
+
/* PSCI return values (inclusive of all PSCI versions) */
#define PSCI_RET_SUCCESS 0
#define PSCI_RET_NOT_SUPPORTED -1