We have OPAL_MSG_PRD message type to pass prd related messages from OPAL
to `opal-prd`. It can handle messages upto 64 bytes. We have a requirement
to send bigger than 64 bytes of data from OPAL to `opal-prd`. Lets add new
message type (OPAL_MSG_PRD2) to pass bigger data.

Cc: Jeremy Kerr <j...@ozlabs.org>
Signed-off-by: Vasant Hegde <hegdevas...@linux.vnet.ibm.com>
---
 arch/powerpc/include/asm/opal-api.h       | 1 +
 arch/powerpc/platforms/powernv/opal-prd.c | 9 ++++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/include/asm/opal-api.h 
b/arch/powerpc/include/asm/opal-api.h
index 09a8553833d1..428b5ef7db7b 100644
--- a/arch/powerpc/include/asm/opal-api.h
+++ b/arch/powerpc/include/asm/opal-api.h
@@ -453,6 +453,7 @@ enum opal_msg_type {
        OPAL_MSG_DPO            = 5,
        OPAL_MSG_PRD            = 6,
        OPAL_MSG_OCC            = 7,
+       OPAL_MSG_PRD2           = 8,
        OPAL_MSG_TYPE_MAX,
 };
 
diff --git a/arch/powerpc/platforms/powernv/opal-prd.c 
b/arch/powerpc/platforms/powernv/opal-prd.c
index e072bf157d62..50a735d77192 100644
--- a/arch/powerpc/platforms/powernv/opal-prd.c
+++ b/arch/powerpc/platforms/powernv/opal-prd.c
@@ -342,7 +342,7 @@ static int opal_prd_msg_notifier(struct notifier_block *nb,
        int msg_size, item_size;
        unsigned long flags;
 
-       if (msg_type != OPAL_MSG_PRD)
+       if (msg_type != OPAL_MSG_PRD && msg_type != OPAL_MSG_PRD2)
                return 0;
 
        /* Calculate total size of the message and item we need to store. The
@@ -393,6 +393,13 @@ static int opal_prd_probe(struct platform_device *pdev)
                return rc;
        }
 
+       rc = opal_message_notifier_register(OPAL_MSG_PRD2, &opal_prd_event_nb);
+       if (rc) {
+               pr_err("%s: Couldn't register event notifier (%d)\n",
+                      __func__, OPAL_MSG_PRD2);
+               return rc;
+       }
+
        rc = misc_register(&opal_prd_dev);
        if (rc) {
                pr_err("failed to register miscdev\n");
-- 
2.14.3

Reply via email to