msm: camera: isp: Pause the CRM timer in case of hardware errors
In the Case of CSID RX fetal errors, We disable rx path. Whenever we get sof freeze after some time, we enable the path SOF to do a health check of the sensor. But we don’t get the SOFs and it gives the wrong impression that the sensor is not streaming. Notify crm driver to pause the timer in case of fatal hardware error to not missled sof freez issue. CRs-Fixed: 2890861 Change-Id: I73e750cad0193ea5537a25c8440a9863343c4ef7 Signed-off-by: Chandan Kumar Jha <cjha@codeaurora.org>
This commit is contained in:
@@ -2385,6 +2385,7 @@ static int __cam_isp_ctx_handle_error(struct cam_isp_context *ctx_isp,
|
||||
struct cam_hw_fence_map_entry *fence_map_out = NULL;
|
||||
struct cam_req_mgr_message req_msg;
|
||||
uint32_t evt_param;
|
||||
struct cam_req_mgr_timer_notify timer;
|
||||
|
||||
struct cam_context *ctx = ctx_isp->base;
|
||||
struct cam_isp_hw_error_event_data *error_event_data =
|
||||
@@ -2394,6 +2395,15 @@ static int __cam_isp_ctx_handle_error(struct cam_isp_context *ctx_isp,
|
||||
|
||||
CAM_DBG(CAM_ISP, "Enter error_type = %d", error_type);
|
||||
|
||||
if (ctx->ctx_crm_intf && ctx->ctx_crm_intf->notify_timer) {
|
||||
timer.link_hdl = ctx->link_hdl;
|
||||
timer.dev_hdl = ctx->dev_hdl;
|
||||
timer.state = false;
|
||||
ctx->ctx_crm_intf->notify_timer(&timer);
|
||||
CAM_DBG(CAM_ISP, "Notify CRM to pause timer for ctx %u",
|
||||
ctx->ctx_id);
|
||||
}
|
||||
|
||||
if ((error_type == CAM_ISP_HW_ERROR_OVERFLOW) ||
|
||||
(error_type == CAM_ISP_HW_ERROR_BUSIF_OVERFLOW) ||
|
||||
(error_type == CAM_ISP_HW_ERROR_VIOLATION)) {
|
||||
|
Reference in New Issue
Block a user