aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorMahesh Salgaonkar <mahesh@linux.vnet.ibm.com>2018-05-31 14:04:33 +0530
committerStewart Smith <stewart@linux.ibm.com>2018-06-05 16:02:44 +1000
commitf4a95d7e1dd50ff5e33a8b7bfa0a8acdf3432a46 (patch)
tree8897a278f160080963a5b546a1fad38ef60a5942 /core
parentc55a54bbf38b6b3144105885e173ae7b6afab091 (diff)
downloadskiboot-f4a95d7e1dd50ff5e33a8b7bfa0a8acdf3432a46.zip
skiboot-f4a95d7e1dd50ff5e33a8b7bfa0a8acdf3432a46.tar.gz
skiboot-f4a95d7e1dd50ff5e33a8b7bfa0a8acdf3432a46.tar.bz2
opal/hmi: Display correct chip id while printing NPU FIRs.
HMIs for NPU xstops are broadcasted to all chips. All cores on all the chips receive HMI. HMI handler correctly identifies and extracts the NPU FIR details from affected chip, but while printing FIR data it prints chip id and location code details of this_cpu()->chip_id which may not be correct. This patch fixes this issue. CC: stable # v6.0+ Fixes: 7bcbc78c ("Add location code to NPU2 HMI logging") Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com> [stewart: add fixes and cc stable] Signed-off-by: Stewart Smith <stewart@linux.ibm.com> (cherry picked from commit fa82d360a73a5e52131d8a19e9fdb9d6e9c2eeb9) Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Diffstat (limited to 'core')
-rw-r--r--core/hmi.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/core/hmi.c b/core/hmi.c
index c0e2354..3bbdb2a 100644
--- a/core/hmi.c
+++ b/core/hmi.c
@@ -634,7 +634,7 @@ static void dump_scoms(int flat_chip_id, const char *unit, uint32_t *scoms,
if (r != OPAL_SUCCESS)
continue;
prlog(PR_ERR, "%s: [Loc: %s] P:%d 0x%08x=0x%016llx\n",
- unit, loc, this_cpu()->chip_id, *scoms, value);
+ unit, loc, flat_chip_id, *scoms, value);
scoms++;
}
}
@@ -691,13 +691,13 @@ static void find_npu2_checkstop_reason(int flat_chip_id,
fatal_errors = npu2_fir & ~npu2_fir_mask & npu2_fir_action0 & npu2_fir_action1;
if (fatal_errors) {
- loc = chip_loc_code(this_cpu()->chip_id);
+ loc = chip_loc_code(flat_chip_id);
if (!loc)
loc = "Not Available";
prlog(PR_ERR, "NPU2: [Loc: %s] P:%d FIR#%d FIR 0x%016llx mask 0x%016llx\n",
- loc, this_cpu()->chip_id, i, npu2_fir, npu2_fir_mask);
+ loc, flat_chip_id, i, npu2_fir, npu2_fir_mask);
prlog(PR_ERR, "NPU2: [Loc: %s] P:%d ACTION0 0x%016llx, ACTION1 0x%016llx\n",
- loc, this_cpu()->chip_id, npu2_fir_action0, npu2_fir_action1);
+ loc, flat_chip_id, npu2_fir_action0, npu2_fir_action1);
total_errors++;
}