From 36a5eecf9c293ae44bfbc92d7efce099abee2a66 Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 8 Aug 2025 17:41:38 +0800 Subject: [PATCH] [imaging]disable ldc wdg Signed-off-by: joe --- kernels/hwa/vpac_ldc/vx_vpac_ldc_target.c | 78 ++----------------- .../hwa/vpac_ldc/vx_vpac_ldc_target_priv.h | 8 -- 2 files changed, 6 insertions(+), 80 deletions(-) diff --git a/kernels/hwa/vpac_ldc/vx_vpac_ldc_target.c b/kernels/hwa/vpac_ldc/vx_vpac_ldc_target.c index 574e014..430f7d4 100644 --- a/kernels/hwa/vpac_ldc/vx_vpac_ldc_target.c +++ b/kernels/hwa/vpac_ldc/vx_vpac_ldc_target.c @@ -120,7 +120,6 @@ static vx_status tivxVpacLdcSetParams(tivxVpacLdcObj *ldc_obj, static int32_t tivxVpacLdcFrameComplCb(Fvid2_Handle handle, void *appData); static void tivxVpacLdcErrorCb(Fvid2_Handle handle, uint32_t errEvents, void *appData); -static void tivxVpacLdcWdTimerErrorCb(Fvid2_Handle handle, uint32_t wdTimerErrEvents, void *appData); static vx_status vpacLdcInstObjInit(void); static void vpacLdcInstObjDeinit(void); @@ -559,28 +558,12 @@ static vx_status VX_CALLBACK tivxVpacLdcProcess( /* Wait for Frame Completion */ tivxEventWait(ldc_obj->waitForProcessCmpl, TIVX_EVENT_TIMEOUT_WAIT_FOREVER); - if((0u == ldc_obj->wdTimerErrStatus) && (0u == ldc_obj->err_stat)) - { - fvid2_status = Fvid2_getProcessedRequest(ldc_obj->handle, + fvid2_status = Fvid2_getProcessedRequest(ldc_obj->handle, inFrmList, outFrmList, 0); - if (FVID2_SOK != fvid2_status) - { - VX_PRINT(VX_ZONE_ERROR, "Failed to Get Processed Request\n"); - status = (vx_status)VX_FAILURE; - } - } - else + if (FVID2_SOK != fvid2_status) { - if(0u != ldc_obj->wdTimerErrStatus) - { - VX_PRINT(VX_ZONE_ERROR, "HTS stall: Watchdog timer error interrupt triggered \n"); - status = (vx_status)TIVX_ERROR_EVENT_TIMEOUT; - } - if(0u != ldc_obj->err_stat) - { - VX_PRINT(VX_ZONE_ERROR, "Error interrupt: LDC error interrupt triggered \n"); - status = (vx_status)VX_FAILURE; - } + VX_PRINT(VX_ZONE_ERROR, "Failed to Get Processed Request\n"); + status = (vx_status)VX_FAILURE; } } @@ -755,19 +738,6 @@ static vx_status VX_CALLBACK tivxVpacLdcCreate( } } - if ((vx_status)VX_SUCCESS == status) - { - ldc_obj->wdTimererrEvtPrms.WdTimererrEvents = VHWA_LDC_WDTIMER_ERR; - ldc_obj->wdTimererrEvtPrms.cbFxn = tivxVpacLdcWdTimerErrorCb; - ldc_obj->wdTimererrEvtPrms.appData = ldc_obj; - fvid2_status = Fvid2_control(ldc_obj->handle, - VHWA_M2M_IOCTL_LDC_REGISTER_WDTIMER_ERR_CB, &ldc_obj->wdTimererrEvtPrms, NULL); - if (FVID2_SOK != fvid2_status) - { - VX_PRINT(VX_ZONE_ERROR, "Fvid2_control Failed: Register Watchdog timer Error Callback\n"); - status = (vx_status)VX_FAILURE; - } - } if ((vx_status)VX_SUCCESS == status) { ldc_cfg = &ldc_obj->ldc_cfg; @@ -778,8 +748,6 @@ static vx_status VX_CALLBACK tivxVpacLdcCreate( (vx_enum)VX_MEMORY_TYPE_HOST, (vx_enum)VX_READ_ONLY)); ldc_prms = (tivx_vpac_ldc_params_t *)target_ptr; - ldc_obj->enableErrorEvents = ldc_prms->enable_error_events; - #if defined VPAC1 if(NULL != in1_img_desc) { @@ -2051,17 +2019,10 @@ static vx_status tivxVpacLdcGetErrStatusCmd(const tivxVpacLdcObj *ldc_obj, tivx_obj_desc_scalar_t *scalar_obj_desc) { vx_status status = (vx_status)VX_SUCCESS; - uint32_t combined_err_stat; if (NULL != scalar_obj_desc) { - combined_err_stat = ldc_obj->err_stat & 0x3FFFFFFF; - - if(0u != (ldc_obj->wdTimerErrStatus & VHWA_LDC_WDTIMER_ERR)) - { - combined_err_stat |= TIVX_VPAC_LDC_WDTIMER_ERR; - } - scalar_obj_desc->data.u32 = combined_err_stat; + scalar_obj_desc->data.u32 = ldc_obj->err_stat; } else { @@ -2127,33 +2088,6 @@ static void tivxVpacLdcErrorCb(Fvid2_Handle handle, uint32_t errEvents, void *ap if (NULL != ldc_obj) { - ldc_obj->err_stat = ldc_obj->enableErrorEvents & errEvents; - - if(0u != ldc_obj->err_stat) - { - tivxEventPost(ldc_obj->waitForProcessCmpl); - } + ldc_obj->err_stat |= errEvents; } } -static void tivxVpacLdcWdTimerErrorCb(Fvid2_Handle handle, uint32_t wdTimerErrEvents, void *appData) -{ - tivxVpacLdcObj *ldc_obj = (tivxVpacLdcObj *)appData; - if (NULL != ldc_obj) - { - ldc_obj->wdTimerErrStatus = ldc_obj->enableErrorEvents & wdTimerErrEvents; - - if(0u != ldc_obj->wdTimerErrStatus) - { - tivxEventPost(ldc_obj->waitForProcessCmpl); - } - } -} - -BUILD_ASSERT(((VHWA_LDC_PIX_IBLK_OUTOFBOUND_ERR == TIVX_VPAC_LDC_PIX_BLK_OUTOFBOUND_ERR_STATUS)? 1 : 0)); -BUILD_ASSERT(((VHWA_LDC_MESH_IBLK_OUTOFBOUND == TIVX_VPAC_LDC_MESH_BLK_OUTOFBOUND_ERR_STATUS)? 1 : 0)); -BUILD_ASSERT(((VHWA_LDC_PIX_IBLK_MEMOVF == TIVX_VPAC_LDC_PIX_MEM_OVF_ERR_STATUS)? 1 : 0)); -BUILD_ASSERT(((VHWA_LDC_MESH_IBLK_MEMOVF == TIVX_VPAC_LDC_MESH_MEM_OVF_ERR_STATUS)? 1 : 0)); -BUILD_ASSERT(((VHWA_LDC_IFR_OUTOFBOUND == TIVX_VPAC_LDC_PIX_FRM_OUTOFBOUND_ERR_STATUS)? 1 : 0)); -BUILD_ASSERT(((VHWA_LDC_INT_SZOVF == TIVX_VPAC_LDC_SZ_OVF_ERR_STATUS)? 1 : 0)); -BUILD_ASSERT(((VHWA_LDC_SL2_WR_ERR == TIVX_VPAC_LDC_SL2_WR_ERR_STATUS)? 1 : 0)); -BUILD_ASSERT(((VHWA_LDC_VBUSM_RD_ERR == TIVX_VPAC_LDC_RD_ERR_STATUS)? 1 : 0)); diff --git a/kernels/hwa/vpac_ldc/vx_vpac_ldc_target_priv.h b/kernels/hwa/vpac_ldc/vx_vpac_ldc_target_priv.h index b74b4ad..5b5476f 100755 --- a/kernels/hwa/vpac_ldc/vx_vpac_ldc_target_priv.h +++ b/kernels/hwa/vpac_ldc/vx_vpac_ldc_target_priv.h @@ -119,14 +119,6 @@ typedef struct uint32_t ldc_drv_inst_id; /*! HWA Performance ID */ app_perf_hwa_id_t hwa_perf_id; - /* Structure for watchdog timer error event parameters - * Used to register callback for the given set of events.*/ - Ldc_WdTimerErrEventParams wdTimererrEvtPrms; - /* Stores the status of watchdog timer error interrupt */ - uint32_t wdTimerErrStatus; - /* Store a 32-bit bitmask used to specify which error events - * should be reported */ - uint32_t enableErrorEvents; } tivxVpacLdcObj; -- 2.34.1