From: Stewart Smith <stewart@linux.vnet.ibm.com>
To: mpe@ellerman.id.au, benh@kernel.crashing.org
Cc: Stewart Smith <stewart@linux.vnet.ibm.com>,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: [PATCH 12/18] powerpc/powernv: add CAPI and EPOW parts to opal.h
Date: Tue, 10 Feb 2015 13:26:54 +1100 [thread overview]
Message-ID: <1423535220-6322-13-git-send-email-stewart@linux.vnet.ibm.com> (raw)
In-Reply-To: <1423535220-6322-1-git-send-email-stewart@linux.vnet.ibm.com>
this adds CAPI and EPOW parts to opal.h that previously were only
in firmware opal.h
Currently unused, but gets us really close to being able to share
opal.h between firmware and linux.
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
---
arch/powerpc/include/asm/opal.h | 52 +++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/arch/powerpc/include/asm/opal.h b/arch/powerpc/include/asm/opal.h
index 240ee1c..214a106 100644
--- a/arch/powerpc/include/asm/opal.h
+++ b/arch/powerpc/include/asm/opal.h
@@ -414,6 +414,46 @@ struct opal_ipmi_msg {
uint8_t data[];
};
+/*
+ * EPOW status sharing (OPAL and the host)
+ *
+ * The host will pass on OPAL, a buffer of length OPAL_SYSEPOW_MAX
+ * with individual elements being 16 bits wide to fetch the system
+ * wide EPOW status. Each element in the buffer will contain the
+ * EPOW status in it's bit representation for a particular EPOW sub
+ * class as defiend here. So multiple detailed EPOW status bits
+ * specific for any sub class can be represented in a single buffer
+ * element as it's bit representation.
+ */
+
+/* System EPOW type */
+enum OpalSysEpow {
+ OPAL_SYSEPOW_POWER = 0, /* Power EPOW */
+ OPAL_SYSEPOW_TEMP = 1, /* Temperature EPOW */
+ OPAL_SYSEPOW_COOLING = 2, /* Cooling EPOW */
+ OPAL_SYSEPOW_MAX = 3, /* Max EPOW categories */
+};
+
+/* Power EPOW */
+enum OpalSysPower {
+ OPAL_SYSPOWER_UPS = 0x0001, /* System on UPS power */
+ OPAL_SYSPOWER_CHNG = 0x0002, /* System power configuration change */
+ OPAL_SYSPOWER_FAIL = 0x0004, /* System impending power failure */
+ OPAL_SYSPOWER_INCL = 0x0008, /* System incomplete power */
+};
+
+/* Temperature EPOW */
+enum OpalSysTemp {
+ OPAL_SYSTEMP_AMB = 0x0001, /* System over ambient temperature */
+ OPAL_SYSTEMP_INT = 0x0002, /* System over internal temperature */
+ OPAL_SYSTEMP_HMD = 0x0004, /* System over ambient humidity */
+};
+
+/* Cooling EPOW */
+enum OpalSysCooling {
+ OPAL_SYSCOOL_INSF = 0x0001, /* System insufficient cooling */
+};
+
/* FSP memory errors handling */
enum OpalMemErr_Version {
OpalMemErr_V1 = 1,
@@ -741,6 +781,18 @@ struct opal_sg_list {
#define OPAL_DUMP_REGION_LOG_BUF 0x80
#define OPAL_DUMP_REGION_HOST_END 0xFF
+/* CAPI modes for PHB */
+enum {
+ OPAL_PHB_CAPI_MODE_PCIE = 0,
+ OPAL_PHB_CAPI_MODE_CAPI = 1,
+ OPAL_PHB_CAPI_MODE_SNOOP_OFF = 2,
+ OPAL_PHB_CAPI_MODE_SNOOP_ON = 3,
+};
+
+/* CAPI feature flags (in device-tree) */
+#define OPAL_PHB_CAPI_FLAG_SNOOP_CONTROL 0x00000001
+#define OPAL_PHB_CAPI_FLAG_REVERT_TO_PCIE 0x00000002
+
/* We calculate number of sg entries based on PAGE_SIZE */
#define SG_ENTRIES_PER_NODE ((PAGE_SIZE - 16) / sizeof(struct opal_sg_entry))
--
1.7.10.4
next prev parent reply other threads:[~2015-02-10 2:28 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-10 2:26 [PATCH 00/18] sync opal.h with firmware Stewart Smith
2015-02-10 2:26 ` [PATCH 01/18] powerpc/powernv: sync OPAL API tokens with skiboot Stewart Smith
2015-02-10 2:26 ` [PATCH 02/18] powerpc/powernv: synchronize OPAL calls and return codes with firmware Stewart Smith
2015-02-10 2:26 ` [PATCH 03/18] powerpc/powernv: s/OPAL_PCI_SET_PHB_CXL_MODE/OPAL_PCI_SET_PHB_CAPI_MODE/ to match firmware Stewart Smith
2015-02-10 3:39 ` Benjamin Herrenschmidt
2015-02-10 2:26 ` [PATCH 04/18] powerpc/powernv: relocate struct opal_sg_entry in opal.h to same place it is in firmware Stewart Smith
2015-02-10 2:26 ` [PATCH 05/18] powerpc/powernv: synchronize opal.h whitespace with firmware Stewart Smith
2015-02-10 2:26 ` [PATCH 06/18] powerpc/powernv: move OPAL_DUMP_REGION defines in opal.h to same place as in firmware opal.h Stewart Smith
2015-02-10 2:26 ` [PATCH 07/18] powerpc/powernv: make whitespace for OPAL_PM_* defines match firmware Stewart Smith
2015-02-10 2:26 ` [PATCH 08/18] powerpc/powernv: Move OpalSysparamPerm, OpalMessageType in opal.h to " Stewart Smith
2015-02-10 2:26 ` [PATCH 09/18] powerpc/powernv: match enum OpalMessageType with firmware Stewart Smith
2015-02-10 2:26 ` [PATCH 10/18] powerpc/powernv: move OPAL API prototypes to opal-api.h Stewart Smith
2015-02-10 2:26 ` [PATCH 11/18] powerpc/powernv: make whitespace in enum OpalSysparamPerm match firmware Stewart Smith
2015-02-10 2:26 ` Stewart Smith [this message]
2015-02-10 2:26 ` [PATCH 13/18] powerpc/powernv: add remaining missing enums to opal.h Stewart Smith
2015-02-10 2:26 ` [PATCH 14/18] powerpc/powernv: sync comments and whitespace in opal.h with firmware Stewart Smith
2015-02-10 2:26 ` [PATCH 15/18] powerpc/powernv: sync #includes " Stewart Smith
2015-02-10 2:26 ` [PATCH 16/18] powerpc/powernv: move SG_ENTRIES_PER_NODE to linux-specific opal-api.h Stewart Smith
2015-02-10 2:26 ` [PATCH 17/18] powerpc/powernv: s/u8/uint8_t/ to match firmware in opal.h Stewart Smith
2015-02-10 2:27 ` [PATCH 18/18] powerpc/powernv: s/OpalM64EnableAction/OpalM64Action/ and __be64 annotation Stewart Smith
2015-02-10 3:59 ` [PATCH 00/18] sync opal.h with firmware Michael Ellerman
2015-02-10 5:10 ` Stewart Smith
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1423535220-6322-13-git-send-email-stewart@linux.vnet.ibm.com \
--to=stewart@linux.vnet.ibm.com \
--cc=benh@kernel.crashing.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).