From f0e6e63dcca5f3367e821cdb5335d2168569d557 Mon Sep 17 00:00:00 2001 From: George Shen Date: Wed, 26 Aug 2020 16:10:52 -0700 Subject: [PATCH] msm: cvp: Print detail NOC error info It helps debugging CVP NOC error. Change-Id: I7f7e2b37ff7c404414e483f1ded36d3e521121d1 Signed-off-by: George Shen --- drivers/media/platform/msm/cvp/cvp_hfi.c | 31 +++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/msm/cvp/cvp_hfi.c b/drivers/media/platform/msm/cvp/cvp_hfi.c index e627cef2ab93..377a6d9bb23a 100644 --- a/drivers/media/platform/msm/cvp/cvp_hfi.c +++ b/drivers/media/platform/msm/cvp/cvp_hfi.c @@ -4379,6 +4379,35 @@ static int iris_hfi_get_core_capabilities(void *dev) static u32 cvp_arp_test_regs[16]; static u32 cvp_dma_test_regs[512]; +static const char * const mid_names[16] = { + "CVP_FW", + "ARP_DATA", + "CVP_OD_NON_PIXEL", + "CVP_OD_ORIG_PIXEL", + "CVP_OD_WR_PIXEL", + "CVP_MPU_ORIG_PIXEL", + "CVP_MPU_REF_PIXEL", + "CVP_MPU_NON_PIXEL", + "CVP_MPU_DFS", + "CVP_FDU_NON_PIXEL", + "CVP_FDU_PIXEL", + "CVP_ICA_PIXEL", + "Invalid", + "Invalid", + "Invalid", + "Invalid" +}; + +static void __print_reg_details(u32 val) +{ + u32 mid, sid; + + mid = (val >> 5) & 0xF; + sid = (val >> 2) & 0x7; + dprintk(CVP_ERR, "CVP_NOC_CORE_ERL_MAIN_ERRLOG3_LOW: %#x\n", val); + dprintk(CVP_ERR, "Sub-client:%s, SID: %d\n", mid_names[mid], sid); +} + static void __noc_error_info_iris2(struct iris_hfi_device *device) { u32 val = 0, regi, i; @@ -4433,7 +4462,7 @@ static void __noc_error_info_iris2(struct iris_hfi_device *device) val = __read_register(device, CVP_NOC_CORE_ERR_ERRLOG2_HIGH_OFFS); dprintk(CVP_ERR, "CVP_NOC_CORE_ERL_MAIN_ERRLOG2_HIGH: %#x\n", val); val = __read_register(device, CVP_NOC_CORE_ERR_ERRLOG3_LOW_OFFS); - dprintk(CVP_ERR, "CVP_NOC_CORE_ERL_MAIN_ERRLOG3_LOW: %#x\n", val); + __print_reg_details(val); val = __read_register(device, CVP_NOC_CORE_ERR_ERRLOG3_HIGH_OFFS); dprintk(CVP_ERR, "CVP_NOC_CORE_ERL_MAIN_ERRLOG3_HIGH: %#x\n", val); #define CVP_SS_CLK_HALT 0x8