Merge "msm: camera: isp: Add eof notification for rdi only context" into camera-kernel.lnx.4.0

This commit is contained in:
Camera Software Integration 2021-12-21 20:58:00 -08:00 • committed by Gerrit - the friendly Code Review server
commit 89103da2f8
3 changed files with 19 additions and 5 deletions

View file

@ -4315,7 +4315,7 @@ static struct cam_isp_ctx_irq_ops
__cam_isp_ctx_rdi_only_sof_in_top_state,
__cam_isp_ctx_reg_upd_in_sof,
NULL,
NULL,
__cam_isp_ctx_notify_eof_in_activated_state,
NULL,
},
},
@ -4326,7 +4326,7 @@ static struct cam_isp_ctx_irq_ops
__cam_isp_ctx_rdi_only_sof_in_applied_state,
NULL,
NULL,
NULL,
__cam_isp_ctx_notify_eof_in_activated_state,
__cam_isp_ctx_buf_done_in_applied,
},
},
@ -4337,7 +4337,7 @@ static struct cam_isp_ctx_irq_ops
__cam_isp_ctx_rdi_only_sof_in_top_state,
NULL,
NULL,
NULL,
__cam_isp_ctx_notify_eof_in_activated_state,
__cam_isp_ctx_buf_done_in_epoch,
},
},
@ -4348,7 +4348,7 @@ static struct cam_isp_ctx_irq_ops
__cam_isp_ctx_rdi_only_sof_in_bubble_state,
__cam_isp_ctx_rdi_only_reg_upd_in_bubble_state,
NULL,
NULL,
__cam_isp_ctx_notify_eof_in_activated_state,
__cam_isp_ctx_buf_done_in_bubble,
},
},
@ -4359,7 +4359,7 @@ static struct cam_isp_ctx_irq_ops
__cam_isp_ctx_rdi_only_sof_in_bubble_applied,
__cam_isp_ctx_rdi_only_reg_upd_in_bubble_applied_state,
NULL,
NULL,
__cam_isp_ctx_notify_eof_in_activated_state,
__cam_isp_ctx_buf_done_in_bubble_applied,
},
},

View file

@ -7990,6 +7990,14 @@ static int cam_ife_hw_mgr_handle_hw_eof(
case CAM_ISP_HW_VFE_IN_RDI1:
case CAM_ISP_HW_VFE_IN_RDI2:
case CAM_ISP_HW_VFE_IN_RDI3:
if (!ife_hw_mgr_ctx->is_rdi_only_context)
break;
if (atomic_read(&ife_hw_mgr_ctx->overflow_pending))
break;
ife_hw_irq_eof_cb(ife_hw_mgr_ctx->common.cb_priv,
CAM_ISP_HW_EVENT_EOF, (void *)&eof_done_event_data);
break;
case CAM_ISP_HW_VFE_IN_PDLIB:
case CAM_ISP_HW_VFE_IN_LCR:
break;

View file

@ -5649,6 +5649,12 @@ static int cam_tfe_hw_mgr_handle_hw_eof(
case CAM_ISP_HW_TFE_IN_RDI0:
case CAM_ISP_HW_TFE_IN_RDI1:
case CAM_ISP_HW_TFE_IN_RDI2:
if (!tfe_hw_mgr_ctx->is_rdi_only_context)
break;
if (atomic_read(&tfe_hw_mgr_ctx->overflow_pending))
break;
tfe_hw_irq_eof_cb(tfe_hw_mgr_ctx->common.cb_priv,
CAM_ISP_HW_EVENT_EOF, (void *)&eof_done_event_data);
break;
default: