[PATCH 0/3] powerpc/powernv: Correctly detect optional OPAL calls

STALE4190d

6 messages, 2 authors, 2015-02-19 · open the first message on its own page

[PATCH 0/3] powerpc/powernv: Correctly detect optional OPAL calls

From: Stewart Smith <hidden>
Date: 2015-02-18 00:04:06

This series fixes three possible warnings that OPAL firmware would emit
when booting on hardware/simulator that didn't support certain functionality.

The correct thing for Linux to do is to detect firmware capability
by using the OPAL_CHECK_TOKEN call or examining device tree. In the case
of these three warnings, it was OPAL_CHECK_TOKEN.

Stewart Smith (3):
  powerpc/powernv: only register log if OPAL supports doing so
  powerpc/powernv: only call OPAL_ELOG_RESEND if firmware supports it
  powerpc/powernv: only call OPAL_RESEND_DUMP if firmware supports it

 arch/powerpc/platforms/powernv/opal-dump.c |    3 ++-
 arch/powerpc/platforms/powernv/opal-elog.c |    3 ++-
 arch/powerpc/platforms/powernv/opal.c      |    6 +++++-
 3 files changed, 9 insertions(+), 3 deletions(-)

-- 
1.7.10.4

[PATCH 1/3] powerpc/powernv: only register log if OPAL supports doing so

From: Stewart Smith <hidden>
Date: 2015-02-18 00:04:04

Correct use of REGISTER/UNREGISTER is to check if the token exists
before calling. If we don't we get a "OPAL: Called with bad token 101 !"
error, which is harmless but may be alarming to some.

Signed-off-by: Stewart Smith <redacted>
---
 arch/powerpc/platforms/powernv/opal.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
index f10b9ec..84ff20c 100644
--- a/arch/powerpc/platforms/powernv/opal.c
+++ b/arch/powerpc/platforms/powernv/opal.c
@@ -665,6 +665,9 @@ static void __init opal_dump_region_init(void)
 	uint64_t size;
 	int rc;
 
+	if (!opal_check_token(OPAL_REGISTER_DUMP_REGION))
+		return;
+
 	/* Register kernel log buffer */
 	addr = log_buf_addr_get();
 	size = log_buf_len_get();
@@ -795,7 +798,8 @@ void opal_shutdown(void)
 	}
 
 	/* Unregister memory dump region */
-	opal_unregister_dump_region(OPAL_DUMP_REGION_LOG_BUF);
+	if (opal_check_token(OPAL_UNREGISTER_DUMP_REGION))
+		opal_unregister_dump_region(OPAL_DUMP_REGION_LOG_BUF);
 }
 
 /* Export this so that test modules can use it */
-- 
1.7.10.4

[PATCH 3/3] powerpc/powernv: only call OPAL_RESEND_DUMP if firmware supports it

From: Stewart Smith <hidden>
Date: 2015-02-18 00:04:08

Not all OPAL platforms support resending system dumps, so check
that current firmware supports it first. Otherwise we get firmware
complaining:
"OPAL: Called with bad token 91 !"

Signed-off-by: Stewart Smith <redacted>
---
 arch/powerpc/platforms/powernv/opal-dump.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/platforms/powernv/opal-dump.c b/arch/powerpc/platforms/powernv/opal-dump.c
index 23260f7..5aa9c1c 100644
--- a/arch/powerpc/platforms/powernv/opal-dump.c
+++ b/arch/powerpc/platforms/powernv/opal-dump.c
@@ -452,5 +452,6 @@ void __init opal_platform_dump_init(void)
 		return;
 	}
 
-	opal_dump_resend_notification();
+	if (opal_check_token(OPAL_DUMP_RESEND))
+		opal_dump_resend_notification();
 }
-- 
1.7.10.4

[PATCH 2/3] powerpc/powernv: only call OPAL_ELOG_RESEND if firmware supports it

From: Stewart Smith <hidden>
Date: 2015-02-18 00:04:50

Otherwise firmware complains: "OPAL: Called with bad token 74 !"
as not all OPAL systems have the ability to resend error logs.

Signed-off-by: Stewart Smith <redacted>
---
 arch/powerpc/platforms/powernv/opal-elog.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/platforms/powernv/opal-elog.c b/arch/powerpc/platforms/powernv/opal-elog.c
index 518fe95..38ce757 100644
--- a/arch/powerpc/platforms/powernv/opal-elog.c
+++ b/arch/powerpc/platforms/powernv/opal-elog.c
@@ -313,7 +313,8 @@ int __init opal_elog_init(void)
 	}
 
 	/* We are now ready to pull error logs from opal. */
-	opal_resend_pending_logs();
+	if (opal_check_token(OPAL_ELOG_RESEND))
+		opal_resend_pending_logs();
 
 	return 0;
 }
-- 
1.7.10.4

Re: [PATCH 0/3] powerpc/powernv: Correctly detect optional OPAL calls

From: Vasant Hegde <hidden>
Date: 2015-02-18 07:57:57

On 02/18/2015 05:33 AM, Stewart Smith wrote:
This series fixes three possible warnings that OPAL firmware would emit
when booting on hardware/simulator that didn't support certain functionality.

The correct thing for Linux to do is to detect firmware capability
by using the OPAL_CHECK_TOKEN call or examining device tree. In the case
of these three warnings, it was OPAL_CHECK_TOKEN.
Stewart,
  Sorry.. I couldn't makeout any difference between this patchset and earlier
patchset which I had Acked except the update in cover page... (sub: Silence
"OPAL called with invalid token" errors ).

  Did I miss anything ?

-Vasant

Re: [PATCH 0/3] powerpc/powernv: Correctly detect optional OPAL calls

From: Stewart Smith <hidden>
Date: 2015-02-19 00:45:18

Vasant Hegde [off-list ref] writes:
On 02/18/2015 05:33 AM, Stewart Smith wrote:
quoted
This series fixes three possible warnings that OPAL firmware would emit
when booting on hardware/simulator that didn't support certain functionality.

The correct thing for Linux to do is to detect firmware capability
by using the OPAL_CHECK_TOKEN call or examining device tree. In the case
of these three warnings, it was OPAL_CHECK_TOKEN.
Stewart,
  Sorry.. I couldn't makeout any difference between this patchset and earlier
patchset which I had Acked except the update in cover page... (sub: Silence
"OPAL called with invalid token" errors ).

  Did I miss anything ?
You missed that I forgot I'd sent the patchset. :)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help