Lines Matching +full:message +full:- +full:handling +full:- +full:unit
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * OPAL hypervisor Maintenance interrupt handling support in PowerNV.
62 "Hypervisor Resource error - core check stop" }, in print_core_checkstop_reason()
74 if (!hmi_evt->u.xstop_error.xstop_reason) { in print_core_checkstop_reason()
80 be32_to_cpu(hmi_evt->u.xstop_error.u.pir)); in print_core_checkstop_reason()
82 if (be32_to_cpu(hmi_evt->u.xstop_error.xstop_reason) & in print_core_checkstop_reason()
84 printk("%s [Unit: %-3s] %s\n", level, in print_core_checkstop_reason()
125 if (!hmi_evt->u.xstop_error.xstop_reason) { in print_nx_checkstop_reason()
131 be32_to_cpu(hmi_evt->u.xstop_error.u.chip_id)); in print_nx_checkstop_reason()
133 if (be32_to_cpu(hmi_evt->u.xstop_error.xstop_reason) & in print_nx_checkstop_reason()
135 printk("%s [Unit: %-3s] %s\n", level, in print_nx_checkstop_reason()
149 if (!hmi_evt->u.xstop_error.xstop_reason) { in print_npu_checkstop_reason()
151 be32_to_cpu(hmi_evt->u.xstop_error.u.chip_id)); in print_npu_checkstop_reason()
161 * We don't display a specific message per FIR bit as there in print_npu_checkstop_reason()
165 reason_count = sizeof(hmi_evt->u.xstop_error.xstop_reason) / in print_npu_checkstop_reason()
168 reason = (hmi_evt->u.xstop_error.xstop_reason >> (8 * i)) & 0xFF; in print_npu_checkstop_reason()
172 be32_to_cpu(hmi_evt->u.xstop_error.u.chip_id), in print_npu_checkstop_reason()
180 uint8_t type = hmi_evt->u.xstop_error.xstop_type; in print_checkstop_reason()
220 if (hmi_evt->version < OpalHMIEvt_V1) { in print_hmi_event_info()
222 hmi_evt->version); in print_hmi_event_info()
225 switch (hmi_evt->severity) { in print_hmi_event_info()
245 if (hmi_evt->severity != OpalHMI_SEV_NO_ERROR || __ratelimit(&rs)) { in print_hmi_event_info()
248 hmi_evt->disposition == OpalHMI_DISPOSITION_RECOVERED ? in print_hmi_event_info()
250 error_info = hmi_evt->type < ARRAY_SIZE(hmi_error_types) ? in print_hmi_event_info()
251 hmi_error_types[hmi_evt->type] in print_hmi_event_info()
255 be64_to_cpu(hmi_evt->hmer)); in print_hmi_event_info()
256 if ((hmi_evt->type == OpalHMI_ERROR_TFAC) || in print_hmi_event_info()
257 (hmi_evt->type == OpalHMI_ERROR_TFMR_PARITY)) in print_hmi_event_info()
259 be64_to_cpu(hmi_evt->tfmr)); in print_hmi_event_info()
262 if (hmi_evt->version < OpalHMIEvt_V2) in print_hmi_event_info()
266 if (hmi_evt->type == OpalHMI_ERROR_MALFUNC_ALERT) in print_hmi_event_info()
283 list_del(&msg_node->list); in hmi_event_handler()
286 hmi_evt = (struct OpalHMIEvent *) &msg_node->hmi_evt; in hmi_event_handler()
288 disposition = hmi_evt->disposition; in hmi_event_handler()
326 * opal_handle_hmi_event - notifier handler that queues up HMI events
342 hmi_evt = (struct OpalHMIEvent *)&hmi_msg->params[0]; in opal_handle_hmi_event()
347 pr_err("HMI: out of memory, Opal message event not handled\n"); in opal_handle_hmi_event()
348 return -ENOMEM; in opal_handle_hmi_event()
350 memcpy(&msg_node->hmi_evt, hmi_evt, sizeof(*hmi_evt)); in opal_handle_hmi_event()
353 list_add(&msg_node->list, &opal_hmi_evt_list); in opal_handle_hmi_event()