123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- /* Copyright (c) 2016, 2018, 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
- * only version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
- #undef TRACE_SYSTEM
- #define TRACE_SYSTEM msm_cam
- #if !defined(_TRACE_MSM_VFE_H) || defined(TRACE_HEADER_MULTI_READ)
- #define _TRACE_MSM_VFE_H
- #include "msm_isp.h"
- #include <linux/types.h>
- #include <linux/tracepoint.h>
- #define STRING_LEN 80
- TRACE_EVENT(msm_cam_string,
- TP_PROTO(const char *str),
- TP_ARGS(str),
- TP_STRUCT__entry(
- __array(char, str, STRING_LEN)
- ),
- TP_fast_assign(
- strlcpy(__entry->str, str, STRING_LEN);
- ),
- TP_printk("msm_cam: %s", __entry->str)
- );
- TRACE_EVENT(msm_cam_tasklet_debug_dump,
- TP_PROTO(struct msm_vfe_irq_debug_info tasklet_state),
- TP_ARGS(tasklet_state),
- TP_STRUCT__entry(
- __field(unsigned int, vfe_id)
- __field(unsigned int, core_id)
- __field(unsigned int, irq_status0)
- __field(unsigned int, irq_status1)
- __field(unsigned int, ping_pong_status)
- __field(long, tv_sec)
- __field(long, tv_usec)
- ),
- TP_fast_assign(
- __entry->vfe_id = tasklet_state.vfe_id;
- __entry->irq_status0 =
- tasklet_state.irq_status0[tasklet_state.vfe_id];
- __entry->irq_status1 =
- tasklet_state.irq_status1[tasklet_state.vfe_id];
- __entry->core_id = tasklet_state.core_id;
- __entry->ping_pong_status =
- tasklet_state.ping_pong_status[tasklet_state.vfe_id];
- __entry->tv_sec =
- tasklet_state.ts.buf_time.tv_sec;
- __entry->tv_usec =
- tasklet_state.ts.buf_time.tv_usec;
- ),
- TP_printk("vfe_id %d, core %d, irq_st0 0x%x, irq_st1 0x%x\n"
- "pi_po_st 0x%x, time %ld:%ld",
- __entry->vfe_id,
- __entry->core_id,
- __entry->irq_status0,
- __entry->irq_status1,
- __entry->ping_pong_status,
- __entry->tv_sec,
- __entry->tv_usec
- )
- );
- TRACE_EVENT(msm_cam_ping_pong_debug_dump,
- TP_PROTO(struct msm_vfe_irq_debug_info ping_pong_state),
- TP_ARGS(ping_pong_state),
- TP_STRUCT__entry(
- __field(unsigned int, curr_vfe_id)
- __field(unsigned int, curr_irq_status0)
- __field(unsigned int, curr_irq_status1)
- __field(unsigned int, curr_ping_pong_status)
- __field(unsigned int, othr_vfe_id)
- __field(unsigned int, othr_irq_status0)
- __field(unsigned int, othr_irq_status1)
- __field(unsigned int, othr_ping_pong_status)
- __field(long, othr_tv_sec)
- __field(long, othr_tv_usec)
- __field(unsigned int, core_id)
- ),
- TP_fast_assign(
- __entry->curr_vfe_id =
- ping_pong_state.vfe_id;
- __entry->curr_irq_status0 =
- ping_pong_state.irq_status0[ping_pong_state.vfe_id];
- __entry->curr_irq_status1 =
- ping_pong_state.irq_status1[ping_pong_state.vfe_id];
- __entry->curr_ping_pong_status =
- ping_pong_state.
- ping_pong_status[ping_pong_state.vfe_id];
- __entry->othr_vfe_id =
- !ping_pong_state.vfe_id;
- __entry->othr_irq_status0 =
- ping_pong_state.irq_status0[!ping_pong_state.vfe_id];
- __entry->othr_irq_status1 =
- ping_pong_state.irq_status1[!ping_pong_state.vfe_id];
- __entry->othr_ping_pong_status =
- ping_pong_state.
- ping_pong_status[!ping_pong_state.vfe_id];
- __entry->othr_tv_sec =
- ping_pong_state.ts.buf_time.tv_sec;
- __entry->othr_tv_usec =
- ping_pong_state.ts.buf_time.tv_usec;
- __entry->core_id = ping_pong_state.core_id;
- ),
- TP_printk("vfe_id %d, irq_st0 0x%x, irq_st1 0x%x, pi_po_st 0x%x\n"
- "other vfe_id %d, irq_st0 0x%x, irq_st1 0x%x\n"
- "pi_po_st 0x%x, time %ld:%ld core %d",
- __entry->curr_vfe_id,
- __entry->curr_irq_status0,
- __entry->curr_irq_status1,
- __entry->curr_ping_pong_status,
- __entry->othr_vfe_id,
- __entry->othr_irq_status0,
- __entry->othr_irq_status1,
- __entry->othr_ping_pong_status,
- __entry->othr_tv_sec,
- __entry->othr_tv_usec,
- __entry->core_id
- )
- );
- #endif /* _MSM_CAM_TRACE_H */
- /* This part must be outside protection */
- #include <trace/define_trace.h>
|