|
@@ -101,10 +101,16 @@ static const char *cam_icp_dev_type_to_name(
|
|
|
switch (dev_type) {
|
|
|
case CAM_ICP_RES_TYPE_BPS:
|
|
|
return "BPS";
|
|
|
- case CAM_ICP_RES_TYPE_IPE_RT:
|
|
|
- return "IPE_RT";
|
|
|
+ case CAM_ICP_RES_TYPE_BPS_RT:
|
|
|
+ return "BPS_RT";
|
|
|
+ case CAM_ICP_RES_TYPE_BPS_SEMI_RT:
|
|
|
+ return "BPS_SEMI_RT";
|
|
|
case CAM_ICP_RES_TYPE_IPE:
|
|
|
return "IPE";
|
|
|
+ case CAM_ICP_RES_TYPE_IPE_RT:
|
|
|
+ return "IPE_RT";
|
|
|
+ case CAM_ICP_RES_TYPE_IPE_SEMI_RT:
|
|
|
+ return "IPE_SEMI_RT";
|
|
|
default:
|
|
|
return "Invalid dev type";
|
|
|
}
|
|
@@ -1464,10 +1470,18 @@ static int cam_icp_update_clk_rate(struct cam_icp_hw_mgr *hw_mgr,
|
|
|
dev_intf = bps_dev_intf;
|
|
|
curr_clk_rate = hw_mgr->clk_info[ICP_CLK_HW_BPS].curr_clk;
|
|
|
id = CAM_ICP_BPS_CMD_UPDATE_CLK;
|
|
|
+ cam_cpas_notify_event("Before BPS Clk Update",
|
|
|
+ hw_mgr->clk_info[ICP_CLK_HW_BPS].prev_clk);
|
|
|
+ hw_mgr->clk_info[ICP_CLK_HW_BPS].prev_clk = curr_clk_rate;
|
|
|
+ cam_cpas_notify_event("After BPS Clk Update", curr_clk_rate);
|
|
|
} else {
|
|
|
dev_intf = ipe0_dev_intf;
|
|
|
curr_clk_rate = hw_mgr->clk_info[ICP_CLK_HW_IPE].curr_clk;
|
|
|
id = CAM_ICP_IPE_CMD_UPDATE_CLK;
|
|
|
+ cam_cpas_notify_event("Before IPE Clk Update",
|
|
|
+ hw_mgr->clk_info[ICP_CLK_HW_IPE].prev_clk);
|
|
|
+ hw_mgr->clk_info[ICP_CLK_HW_IPE].prev_clk = curr_clk_rate;
|
|
|
+ cam_cpas_notify_event("After IPE Clk Update", curr_clk_rate);
|
|
|
}
|
|
|
|
|
|
CAM_DBG(CAM_PERF, "clk_rate %u for dev_type %d", curr_clk_rate,
|
|
@@ -4114,6 +4128,8 @@ static int cam_icp_mgr_config_hw(void *hw_mgr_priv, void *config_hw_args)
|
|
|
"Anomaly submitting flushed req %llu [last_flush %llu] in ctx %u",
|
|
|
req_id, ctx_data->last_flush_req, ctx_data->ctx_id);
|
|
|
|
|
|
+ cam_cpas_notify_event(ctx_data->ctx_id_string, req_id);
|
|
|
+
|
|
|
rc = cam_icp_mgr_enqueue_config(hw_mgr, config_args);
|
|
|
if (rc)
|
|
|
goto config_err;
|
|
@@ -5759,6 +5775,14 @@ static int cam_icp_mgr_acquire_hw(void *hw_mgr_priv, void *acquire_hw_args)
|
|
|
|
|
|
ctx_data->context_priv = args->context_data;
|
|
|
args->ctxt_to_hw_map = ctx_data;
|
|
|
+ args->hw_mgr_ctx_id = ctx_data->ctx_id;
|
|
|
+
|
|
|
+ snprintf(ctx_data->ctx_id_string, sizeof(ctx_data->ctx_id_string),
|
|
|
+ "%s_ctx[%d]_hwmgrctx[%d]_Submit",
|
|
|
+ cam_icp_dev_type_to_name(
|
|
|
+ ctx_data->icp_dev_acquire_info->dev_type),
|
|
|
+ args->ctx_id,
|
|
|
+ ctx_data->ctx_id);
|
|
|
|
|
|
bitmap_size = BITS_TO_LONGS(CAM_FRAME_CMD_MAX) * sizeof(long);
|
|
|
ctx_data->hfi_frame_process.bitmap =
|