diff options
author | Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com> | 2018-05-31 14:04:33 +0530 |
---|---|---|
committer | Stewart Smith <stewart@linux.ibm.com> | 2018-06-05 16:02:44 +1000 |
commit | f4a95d7e1dd50ff5e33a8b7bfa0a8acdf3432a46 (patch) | |
tree | 8897a278f160080963a5b546a1fad38ef60a5942 | |
parent | c55a54bbf38b6b3144105885e173ae7b6afab091 (diff) | |
download | skiboot-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>
-rw-r--r-- | core/hmi.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -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++; } |