msm: camera: cdm: Add CDM hang detect and debug registers dump support
Add support to dump the cdm core debug registers and CDM hang detect support for better debugging purpose in case of cdm timeout at config ife. Add a debugfs for CDM command buffer dump for cdm hang events. Fix the possible NULL derefernce while dumping the cdm registers. Turn on debugfs using following command in adb shell: echo 1 >> /sys/kernel/debug/camera_isp_ctx/enable_cdm_cmd_buffer_dump. CRs-Fixed: 2748715, 2782720, 2770565 Change-Id: Ibb9aa1d232d742ca1b6e64c16e9718bfc0bc8624 Signed-off-by: Jigar Agrawal <jigar@codeaurora.org>
このコミットが含まれているのは:
@@ -507,6 +507,32 @@ int cam_cdm_detect_hang_error(uint32_t handle)
|
||||
}
|
||||
EXPORT_SYMBOL(cam_cdm_detect_hang_error);
|
||||
|
||||
int cam_cdm_dump_debug_registers(uint32_t handle)
|
||||
{
|
||||
uint32_t hw_index;
|
||||
int rc = -EINVAL;
|
||||
struct cam_hw_intf *hw;
|
||||
|
||||
if (get_cdm_mgr_refcount()) {
|
||||
CAM_ERR(CAM_CDM, "CDM intf mgr get refcount failed");
|
||||
rc = -EPERM;
|
||||
return rc;
|
||||
}
|
||||
|
||||
hw_index = CAM_CDM_GET_HW_IDX(handle);
|
||||
if (hw_index < CAM_CDM_INTF_MGR_MAX_SUPPORTED_CDM) {
|
||||
hw = cdm_mgr.nodes[hw_index].device;
|
||||
if (hw && hw->hw_ops.process_cmd)
|
||||
rc = hw->hw_ops.process_cmd(hw->hw_priv,
|
||||
CAM_CDM_HW_INTF_DUMP_DBG_REGS,
|
||||
&handle,
|
||||
sizeof(handle));
|
||||
}
|
||||
put_cdm_mgr_refcount();
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
int cam_cdm_intf_register_hw_cdm(struct cam_hw_intf *hw,
|
||||
struct cam_cdm_private_dt_data *data, enum cam_cdm_type type,
|
||||
uint32_t *index)
|
||||
|
新しいイシューから参照
ユーザーをブロックする