diff mbox

[RFC,4/7] powerpc/powernv: Add OPAL support for Nest pmu

Message ID 1426079233-16720-5-git-send-email-maddy@linux.vnet.ibm.com (mailing list archive)
State Superseded
Delegated to: Michael Ellerman
Headers show

Commit Message

maddy March 11, 2015, 1:07 p.m. UTC
Nest Counters can be configured via PORE Engine and OPAL
provides an interface call to it. PORE Engine also does the 
work of moving the counter data to memory.  

Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
---
 arch/powerpc/include/asm/opal.h                | 3 +++
 arch/powerpc/platforms/powernv/opal-wrappers.S | 1 +
 2 files changed, 4 insertions(+)

Comments

Stewart Smith March 11, 2015, 10:57 p.m. UTC | #1
Madhavan Srinivasan <maddy@linux.vnet.ibm.com> writes:
> Nest Counters can be configured via PORE Engine and OPAL
> provides an interface call to it. PORE Engine also does the 
> work of moving the counter data to memory.  

Do you have the associated skiboot patch that implements this firmware
call? I haven't seen it on the skiboot list yet :)
maddy March 12, 2015, 8:47 a.m. UTC | #2
On Thursday 12 March 2015 04:27 AM, Stewart Smith wrote:
> Madhavan Srinivasan <maddy@linux.vnet.ibm.com> writes:
>> Nest Counters can be configured via PORE Engine and OPAL
>> provides an interface call to it. PORE Engine also does the
>> work of moving the counter data to memory.
> Do you have the associated skiboot patch that implements this firmware
> call? I haven't seen it on the skiboot list yet :)
Hi Stewart,

     OPAL side code is under-developement. Will post the patches soon to 
the skiboot mailing list.

Regards
Maddy
diff mbox

Patch

diff --git a/arch/powerpc/include/asm/opal.h b/arch/powerpc/include/asm/opal.h
index 9ee0a30..8ac586b 100644
--- a/arch/powerpc/include/asm/opal.h
+++ b/arch/powerpc/include/asm/opal.h
@@ -169,6 +169,7 @@  struct opal_sg_list {
 #define OPAL_IPMI_SEND				107
 #define OPAL_IPMI_RECV				108
 #define OPAL_I2C_REQUEST			109
+#define OPAL_UNCORE_CONTROL			114
 
 /* Device tree flags */
 
@@ -932,6 +933,8 @@  int64_t opal_ipmi_recv(uint64_t interface, struct opal_ipmi_msg *msg,
 int64_t opal_i2c_request(uint64_t async_token, uint32_t bus_id,
 			 struct opal_i2c_request *oreq);
 
+int64_t opal_uncore_control(uint32_t value);
+
 /* Internal functions */
 extern int early_init_dt_scan_opal(unsigned long node, const char *uname,
 				   int depth, void *data);
diff --git a/arch/powerpc/platforms/powernv/opal-wrappers.S b/arch/powerpc/platforms/powernv/opal-wrappers.S
index 0509bca..df709c3 100644
--- a/arch/powerpc/platforms/powernv/opal-wrappers.S
+++ b/arch/powerpc/platforms/powernv/opal-wrappers.S
@@ -292,3 +292,4 @@  OPAL_CALL(opal_tpo_read,			OPAL_READ_TPO);
 OPAL_CALL(opal_ipmi_send,			OPAL_IPMI_SEND);
 OPAL_CALL(opal_ipmi_recv,			OPAL_IPMI_RECV);
 OPAL_CALL(opal_i2c_request,			OPAL_I2C_REQUEST);
+OPAL_CALL(opal_uncore_control,			OPAL_UNCORE_CONTROL);