aboutsummaryrefslogtreecommitdiff
path: root/core/platform.c
diff options
context:
space:
mode:
authorVipin K Parashar <vipin@linux.vnet.ibm.com>2016-08-07 00:38:00 +0530
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-08-25 14:58:39 +1000
commit51b9eeb66ebbd1706248d8f2277afa9b7dcdbc3b (patch)
treecb33e49500b1499cbcb6af23b871c4fdf73c082c /core/platform.c
parenta0a22b9883741b53c85fcea08a94bbdac892a9a3 (diff)
downloadskiboot-51b9eeb66ebbd1706248d8f2277afa9b7dcdbc3b.zip
skiboot-51b9eeb66ebbd1706248d8f2277afa9b7dcdbc3b.tar.gz
skiboot-51b9eeb66ebbd1706248d8f2277afa9b7dcdbc3b.tar.bz2
lpc: Log LPC SYNC errors as unrecoverable ones for manufacturing
High volume of SYNC errors onto LPC bus cause degraded system performance and are likely due to bad hardware present onto system. Thus once LPC SYNC errors cross a certain threshold, OPAL should log them onto BMC as unrecoverable errors in manufacturing mode. This will help manufacturing screen bad parts, causing such errors. Cc: stable Signed-off-by: Vipin K Parashar <vipin@linux.vnet.ibm.com> [stewart@linux.vnet.ibm.com: s/mfg/manufacturing/] Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'core/platform.c')
-rw-r--r--core/platform.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/core/platform.c b/core/platform.c
index de700e7..49ae63a 100644
--- a/core/platform.c
+++ b/core/platform.c
@@ -25,6 +25,7 @@
#include <errorlog.h>
#include <bt.h>
+bool manufacturing_mode = false;
struct platform platform;
DEFINE_LOG_ENTRY(OPAL_RC_ABNORMAL_REBOOT, OPAL_PLATFORM_ERR_EVT, OPAL_CEC,
@@ -130,8 +131,13 @@ void probe_platform(void)
struct platform *platforms = &__platforms_start;
unsigned int i;
- platform = generic_platform;
+ /* Detect Manufacturing mode */
+ if (dt_find_property(dt_root, "ibm,manufacturing-mode")) {
+ prlog(PR_NOTICE, "PLAT: Manufacturing mode ON\n");
+ manufacturing_mode = true;
+ }
+ platform = generic_platform;
for (i = 0; &platforms[i] < &__platforms_end; i++) {
if (platforms[i].probe && platforms[i].probe()) {
platform = platforms[i];