Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc436ffc authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm:camera: add trace log support for VFE events"

parents b286ba09 827f2b19
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -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
@@ -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.
+6 −0
Original line number Diff line number Diff line
@@ -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;
@@ -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);
+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
@@ -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>