Loading drivers/media/platform/msm/camera/cam_cpas/cpas_top/cam_cpastop_hw.c +4 −0 Original line number Diff line number Diff line Loading @@ -336,6 +336,9 @@ static int cam_cpastop_reset_irq(struct cam_hw_info *cpas_hw) { int i; if (camnoc_info->irq_sbm->sbm_enable.enable == false) return 0; cam_cpas_util_reg_update(cpas_hw, CAM_CPAS_REG_CAMNOC, &camnoc_info->irq_sbm->sbm_clear); for (i = 0; i < camnoc_info->irq_err_size; i++) { Loading Loading @@ -517,6 +520,7 @@ static int cam_cpastop_poweron(struct cam_hw_info *cpas_hw) { int i; cam_cpastop_reset_irq(cpas_hw); for (i = 0; i < camnoc_info->specific_size; i++) { if (camnoc_info->specific[i].enable) { cam_cpas_util_reg_update(cpas_hw, CAM_CPAS_REG_CAMNOC, Loading drivers/media/platform/msm/camera/cam_isp/cam_isp_context.c +8 −8 Original line number Diff line number Diff line Loading @@ -2097,6 +2097,14 @@ static int __cam_isp_ctx_flush_req_in_top_state( ctx->hw_mgr_intf->hw_stop(ctx->hw_mgr_intf->hw_mgr_priv, &stop_args); CAM_DBG(CAM_ISP, "try to reset hw"); /* Reset hw */ reset_args.ctxt_to_hw_map = ctx_isp->hw_ctx; rc = ctx->hw_mgr_intf->hw_reset(ctx->hw_mgr_intf->hw_mgr_priv, &reset_args); if (rc) goto end; spin_lock_bh(&ctx->lock); CAM_DBG(CAM_ISP, "try to flush wait list"); rc = __cam_isp_ctx_flush_req(ctx, &ctx->wait_req_list, Loading @@ -2107,14 +2115,6 @@ static int __cam_isp_ctx_flush_req_in_top_state( ctx_isp->active_req_cnt = 0; spin_unlock_bh(&ctx->lock); CAM_DBG(CAM_ISP, "try to reset hw"); /* Reset hw */ reset_args.ctxt_to_hw_map = ctx_isp->hw_ctx; rc = ctx->hw_mgr_intf->hw_reset(ctx->hw_mgr_intf->hw_mgr_priv, &reset_args); if (rc) goto end; CAM_DBG(CAM_ISP, "ctx id%d try to start hw", ctx->ctx_id); /* Start hw */ start_isp.hw_config.ctxt_to_hw_map = ctx_isp->hw_ctx; Loading drivers/media/platform/msm/camera/cam_isp/isp_hw_mgr/hw_utils/cam_tasklet_util.c +2 −2 Original line number Diff line number Diff line /* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -214,7 +214,7 @@ void cam_tasklet_enqueue_cmd( list_add_tail(&tasklet_cmd->list, &tasklet->used_cmd_list); spin_unlock_irqrestore(&tasklet->tasklet_lock, flags); tasklet_schedule(&tasklet->tasklet); tasklet_hi_schedule(&tasklet->tasklet); } int cam_tasklet_init( Loading Loading
drivers/media/platform/msm/camera/cam_cpas/cpas_top/cam_cpastop_hw.c +4 −0 Original line number Diff line number Diff line Loading @@ -336,6 +336,9 @@ static int cam_cpastop_reset_irq(struct cam_hw_info *cpas_hw) { int i; if (camnoc_info->irq_sbm->sbm_enable.enable == false) return 0; cam_cpas_util_reg_update(cpas_hw, CAM_CPAS_REG_CAMNOC, &camnoc_info->irq_sbm->sbm_clear); for (i = 0; i < camnoc_info->irq_err_size; i++) { Loading Loading @@ -517,6 +520,7 @@ static int cam_cpastop_poweron(struct cam_hw_info *cpas_hw) { int i; cam_cpastop_reset_irq(cpas_hw); for (i = 0; i < camnoc_info->specific_size; i++) { if (camnoc_info->specific[i].enable) { cam_cpas_util_reg_update(cpas_hw, CAM_CPAS_REG_CAMNOC, Loading
drivers/media/platform/msm/camera/cam_isp/cam_isp_context.c +8 −8 Original line number Diff line number Diff line Loading @@ -2097,6 +2097,14 @@ static int __cam_isp_ctx_flush_req_in_top_state( ctx->hw_mgr_intf->hw_stop(ctx->hw_mgr_intf->hw_mgr_priv, &stop_args); CAM_DBG(CAM_ISP, "try to reset hw"); /* Reset hw */ reset_args.ctxt_to_hw_map = ctx_isp->hw_ctx; rc = ctx->hw_mgr_intf->hw_reset(ctx->hw_mgr_intf->hw_mgr_priv, &reset_args); if (rc) goto end; spin_lock_bh(&ctx->lock); CAM_DBG(CAM_ISP, "try to flush wait list"); rc = __cam_isp_ctx_flush_req(ctx, &ctx->wait_req_list, Loading @@ -2107,14 +2115,6 @@ static int __cam_isp_ctx_flush_req_in_top_state( ctx_isp->active_req_cnt = 0; spin_unlock_bh(&ctx->lock); CAM_DBG(CAM_ISP, "try to reset hw"); /* Reset hw */ reset_args.ctxt_to_hw_map = ctx_isp->hw_ctx; rc = ctx->hw_mgr_intf->hw_reset(ctx->hw_mgr_intf->hw_mgr_priv, &reset_args); if (rc) goto end; CAM_DBG(CAM_ISP, "ctx id%d try to start hw", ctx->ctx_id); /* Start hw */ start_isp.hw_config.ctxt_to_hw_map = ctx_isp->hw_ctx; Loading
drivers/media/platform/msm/camera/cam_isp/isp_hw_mgr/hw_utils/cam_tasklet_util.c +2 −2 Original line number Diff line number Diff line /* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -214,7 +214,7 @@ void cam_tasklet_enqueue_cmd( list_add_tail(&tasklet_cmd->list, &tasklet->used_cmd_list); spin_unlock_irqrestore(&tasklet->tasklet_lock, flags); tasklet_schedule(&tasklet->tasklet); tasklet_hi_schedule(&tasklet->tasklet); } int cam_tasklet_init( Loading