summaryrefslogtreecommitdiffstats
path: root/include/acpi/pcc.h
diff options
context:
space:
mode:
authorSudeep Holla <sudeep.holla@arm.com>2023-09-27 18:26:10 +0200
committerSudeep Holla <sudeep.holla@arm.com>2023-09-28 16:48:48 +0200
commit55d235ebb684b993b3247740c1c8e273f8af4a54 (patch)
tree7215f078d8d47813a94668ed6b9ef7e499106e29 /include/acpi/pcc.h
parentmailbox: pcc: Support shared interrupt for multiple subspaces (diff)
downloadlinux-55d235ebb684b993b3247740c1c8e273f8af4a54.tar.xz
linux-55d235ebb684b993b3247740c1c8e273f8af4a54.zip
ACPI: PCC: Add PCC shared memory region command and status bitfields
Define the common macros to use when referring to various bitfields in the PCC generic communications channel command and status fields. Currently different drivers that need to use these bitfields have defined these locally. This common macro is intended to consolidate and replace those. Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com> Link: https://lore.kernel.org/r/20230927-pcc_defines-v2-1-0b8ffeaef2e5@arm.com Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Diffstat (limited to 'include/acpi/pcc.h')
-rw-r--r--include/acpi/pcc.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/acpi/pcc.h b/include/acpi/pcc.h
index 73e806fe7ce7..9b373d172a77 100644
--- a/include/acpi/pcc.h
+++ b/include/acpi/pcc.h
@@ -18,7 +18,20 @@ struct pcc_mbox_chan {
u16 min_turnaround_time;
};
+/* Generic Communications Channel Shared Memory Region */
+#define PCC_SIGNATURE 0x50434300
+/* Generic Communications Channel Command Field */
+#define PCC_CMD_GENERATE_DB_INTR BIT(15)
+/* Generic Communications Channel Status Field */
+#define PCC_STATUS_CMD_COMPLETE BIT(0)
+#define PCC_STATUS_SCI_DOORBELL BIT(1)
+#define PCC_STATUS_ERROR BIT(2)
+#define PCC_STATUS_PLATFORM_NOTIFY BIT(3)
+/* Initiator Responder Communications Channel Flags */
+#define PCC_CMD_COMPLETION_NOTIFY BIT(0)
+
#define MAX_PCC_SUBSPACES 256
+
#ifdef CONFIG_PCC
extern struct pcc_mbox_chan *
pcc_mbox_request_channel(struct mbox_client *cl, int subspace_id);