From f18cfb94f1b2a72f64b618ddec72d1c88f77b957 Mon Sep 17 00:00:00 2001 From: Palak Joshi Date: Fri, 20 Oct 2023 10:11:12 +0530 Subject: [PATCH] msm: eva: Added required register dump in case of sys error Waiting for SYS_ERROR from FW. Change-Id: I3e25e2bdbe2d1464ef70e29298ea69567f07f340 Signed-off-by: Palak Joshi --- msm/eva/cvp_hfi.c | 19 ------------------- msm/eva/msm_cvp_common.c | 2 +- 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/msm/eva/cvp_hfi.c b/msm/eva/cvp_hfi.c index 83ee08868a..30dbb33827 100644 --- a/msm/eva/cvp_hfi.c +++ b/msm/eva/cvp_hfi.c @@ -3496,29 +3496,11 @@ static int __response_handler(struct iris_hfi_device *device) } if (device->intr_status & CVP_FATAL_INTR_BMSK) { - struct cvp_hfi_sfr_struct *vsfr = (struct cvp_hfi_sfr_struct *) - device->sfr.align_virtual_addr; - struct msm_cvp_cb_info info = { - .response_type = HAL_SYS_WATCHDOG_TIMEOUT, - .response.cmd = { - .device_id = 0, - } - }; - - if (vsfr) - dprintk(CVP_ERR, "SFR Message from FW: %s\n", - vsfr->rg_data); if (device->intr_status & CVP_WRAPPER_INTR_MASK_CPU_NOC_BMSK) dprintk(CVP_ERR, "Received Xtensa NOC error\n"); if (device->intr_status & CVP_WRAPPER_INTR_MASK_CORE_NOC_BMSK) dprintk(CVP_ERR, "Received CVP core NOC error\n"); - - if (device->intr_status & CVP_WRAPPER_INTR_MASK_A2HWD_BMSK) - dprintk(CVP_ERR, "Received CVP watchdog timeout\n"); - - packets[packet_count++] = info; - goto exit; } /* Bleed the msg queue dry of packets */ @@ -3594,7 +3576,6 @@ static int __response_handler(struct iris_hfi_device *device) } } -exit: __flush_debug_queue(device, raw_packet); return packet_count; } diff --git a/msm/eva/msm_cvp_common.c b/msm/eva/msm_cvp_common.c index 7782cb5eb9..05f5d64562 100644 --- a/msm/eva/msm_cvp_common.c +++ b/msm/eva/msm_cvp_common.c @@ -600,11 +600,11 @@ void handle_sys_error(enum hal_command_response cmd, void *data) core, cmd, core->ssr_count); mutex_lock(&core->clk_lock); hfi_device = ops_tbl->hfi_device_data; + call_hfi_op(ops_tbl, flush_debug_queue, ops_tbl->hfi_device_data); if (hfi_device->error == CVP_ERR_NOC_ERROR) { dprintk(CVP_WARN, "Got NOC error"); msm_cvp_noc_error_info(core); } - call_hfi_op(ops_tbl, flush_debug_queue, ops_tbl->hfi_device_data); list_for_each_entry(inst, &core->instances, list) { cvp_print_inst(CVP_WARN, inst); if (inst->state != MSM_CVP_CORE_INVALID) {