Loading drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c +7 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #include "msm_isp_stats_util.h" #include "msm_isp_axi_util.h" #include "msm_isp48.h" #include "trace/events/msm_cam.h" #define HANDLE_TO_IDX(handle) (handle & 0xFF) #define ISP_SOF_DEBUG_COUNT 0 Loading Loading @@ -1076,8 +1077,12 @@ void msm_isp_notify(struct vfe_device *vfe_dev, uint32_t event_type, vfe_dev->isp_raw2_debug++; } ISP_DBG("%s: vfe %d frame_src %d\n", __func__, vfe_dev->pdev->id, frame_src); ISP_DBG("%s: vfe %d frame_src %d frameid %d\n", __func__, vfe_dev->pdev->id, frame_src, vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id); trace_msm_cam_isp_status_dump("SOFNOTIFY:", vfe_dev->pdev->id, vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id, 0, 0); /* * Cannot support dual_cam and framedrop same time in union. Loading drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c +6 −0 Original line number Diff line number Diff line Loading @@ -2125,6 +2125,9 @@ static void msm_isp_enqueue_tasklet_cmd(struct vfe_device *vfe_dev, return; } atomic_add(1, &vfe_dev->irq_cnt); trace_msm_cam_isp_status_dump("VFE_IRQ:", vfe_dev->pdev->id, vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id, irq_status0, irq_status1); queue_cmd->vfeInterruptStatus0 = irq_status0; queue_cmd->vfeInterruptStatus1 = irq_status1; queue_cmd->vfe_pingpong_status = ping_pong_status; Loading Loading @@ -2224,6 +2227,9 @@ void msm_isp_do_tasklet(unsigned long data) atomic_sub(1, &vfe_dev->irq_cnt); msm_isp_prepare_tasklet_debug_info(vfe_dev, irq_status0, irq_status1, ts); trace_msm_cam_isp_status_dump("VFE_TASKLET:", vfe_dev->pdev->id, vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id, irq_status0, irq_status1); irq_ops = &vfe_dev->hw_info->vfe_ops.irq_ops; irq_ops->process_reset_irq(vfe_dev, irq_status0, irq_status1); Loading include/trace/events/msm_cam.h +29 −1 Original line number Diff line number Diff line /* Copyright (c) 2016, 2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2016, 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 @@ -131,6 +131,34 @@ TRACE_EVENT(msm_cam_ping_pong_debug_dump, ) ); TRACE_EVENT(msm_cam_isp_status_dump, TP_PROTO(char *event, uint32_t vfe_id, uint32_t frame_id, uint32_t irq_status0, uint32_t irq_status1), TP_ARGS(event, vfe_id, frame_id, irq_status0, irq_status1), TP_STRUCT__entry( __field(char *, event) __field(unsigned int, vfe_id) __field(unsigned int, frame_id) __field(unsigned int, irq_status0) __field(unsigned int, irq_status1) ), TP_fast_assign( __entry->event = event; __entry->vfe_id = vfe_id; __entry->frame_id = frame_id; __entry->irq_status0 = irq_status0; __entry->irq_status1 = irq_status1; ), TP_printk("%s vfe %d, frame %d, irq_st0 %x, irq_st1 %x\n", __entry->event, __entry->vfe_id, __entry->frame_id, __entry->irq_status0, __entry->irq_status1 ) ); #endif /* _MSM_CAM_TRACE_H */ /* This part must be outside protection */ #include <trace/define_trace.h> Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c +7 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #include "msm_isp_stats_util.h" #include "msm_isp_axi_util.h" #include "msm_isp48.h" #include "trace/events/msm_cam.h" #define HANDLE_TO_IDX(handle) (handle & 0xFF) #define ISP_SOF_DEBUG_COUNT 0 Loading Loading @@ -1076,8 +1077,12 @@ void msm_isp_notify(struct vfe_device *vfe_dev, uint32_t event_type, vfe_dev->isp_raw2_debug++; } ISP_DBG("%s: vfe %d frame_src %d\n", __func__, vfe_dev->pdev->id, frame_src); ISP_DBG("%s: vfe %d frame_src %d frameid %d\n", __func__, vfe_dev->pdev->id, frame_src, vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id); trace_msm_cam_isp_status_dump("SOFNOTIFY:", vfe_dev->pdev->id, vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id, 0, 0); /* * Cannot support dual_cam and framedrop same time in union. Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c +6 −0 Original line number Diff line number Diff line Loading @@ -2125,6 +2125,9 @@ static void msm_isp_enqueue_tasklet_cmd(struct vfe_device *vfe_dev, return; } atomic_add(1, &vfe_dev->irq_cnt); trace_msm_cam_isp_status_dump("VFE_IRQ:", vfe_dev->pdev->id, vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id, irq_status0, irq_status1); queue_cmd->vfeInterruptStatus0 = irq_status0; queue_cmd->vfeInterruptStatus1 = irq_status1; queue_cmd->vfe_pingpong_status = ping_pong_status; Loading Loading @@ -2224,6 +2227,9 @@ void msm_isp_do_tasklet(unsigned long data) atomic_sub(1, &vfe_dev->irq_cnt); msm_isp_prepare_tasklet_debug_info(vfe_dev, irq_status0, irq_status1, ts); trace_msm_cam_isp_status_dump("VFE_TASKLET:", vfe_dev->pdev->id, vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id, irq_status0, irq_status1); irq_ops = &vfe_dev->hw_info->vfe_ops.irq_ops; irq_ops->process_reset_irq(vfe_dev, irq_status0, irq_status1); Loading
include/trace/events/msm_cam.h +29 −1 Original line number Diff line number Diff line /* Copyright (c) 2016, 2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2016, 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 @@ -131,6 +131,34 @@ TRACE_EVENT(msm_cam_ping_pong_debug_dump, ) ); TRACE_EVENT(msm_cam_isp_status_dump, TP_PROTO(char *event, uint32_t vfe_id, uint32_t frame_id, uint32_t irq_status0, uint32_t irq_status1), TP_ARGS(event, vfe_id, frame_id, irq_status0, irq_status1), TP_STRUCT__entry( __field(char *, event) __field(unsigned int, vfe_id) __field(unsigned int, frame_id) __field(unsigned int, irq_status0) __field(unsigned int, irq_status1) ), TP_fast_assign( __entry->event = event; __entry->vfe_id = vfe_id; __entry->frame_id = frame_id; __entry->irq_status0 = irq_status0; __entry->irq_status1 = irq_status1; ), TP_printk("%s vfe %d, frame %d, irq_st0 %x, irq_st1 %x\n", __entry->event, __entry->vfe_id, __entry->frame_id, __entry->irq_status0, __entry->irq_status1 ) ); #endif /* _MSM_CAM_TRACE_H */ /* This part must be outside protection */ #include <trace/define_trace.h>