224 lines
4.2 KiB
C
224 lines
4.2 KiB
C
/*
|
|
* Copyright (C) 2013 Google, Inc.
|
|
*
|
|
* This software is licensed under the terms of the GNU General Public
|
|
* License version 2, as published by the Free Software Foundation, and
|
|
* may be copied, distributed, and modified under those terms.
|
|
*
|
|
* 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 mfc
|
|
|
|
#if !defined(_TRACE_MFC_H) || defined(TRACE_HEADER_MULTI_READ)
|
|
#define _TRACE_MFC_H
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/tracepoint.h>
|
|
|
|
DECLARE_EVENT_CLASS(mfc_node,
|
|
|
|
TP_PROTO(int ctx_num,
|
|
int num_inst,
|
|
unsigned int type,
|
|
int is_drm),
|
|
|
|
TP_ARGS(ctx_num, num_inst, type, is_drm),
|
|
|
|
TP_STRUCT__entry(
|
|
__field( int, ctx_num )
|
|
__field( int, num_inst )
|
|
__field( unsigned int, type )
|
|
__field( int, is_drm )
|
|
),
|
|
|
|
TP_fast_assign(
|
|
__entry->ctx_num = ctx_num;
|
|
__entry->num_inst = num_inst;
|
|
__entry->type = type;
|
|
__entry->is_drm = is_drm;
|
|
),
|
|
|
|
TP_printk("ctx[%d] total inst=%d, type=%d, %s",
|
|
__entry->ctx_num,
|
|
__entry->num_inst,
|
|
__entry->type,
|
|
__entry->is_drm ? "drm" : "normal"
|
|
)
|
|
);
|
|
|
|
DEFINE_EVENT(mfc_node, mfc_node_open,
|
|
|
|
TP_PROTO(int ctx_num,
|
|
int num_inst,
|
|
unsigned int type,
|
|
int is_drm),
|
|
|
|
TP_ARGS(ctx_num, num_inst, type, is_drm)
|
|
);
|
|
|
|
DEFINE_EVENT(mfc_node, mfc_node_close,
|
|
|
|
TP_PROTO(int ctx_num,
|
|
int num_inst,
|
|
unsigned int type,
|
|
int is_drm),
|
|
|
|
TP_ARGS(ctx_num, num_inst, type, is_drm)
|
|
);
|
|
|
|
DECLARE_EVENT_CLASS(mfc_loadfw,
|
|
|
|
TP_PROTO(size_t fw_region_size,
|
|
size_t fw_size),
|
|
|
|
TP_ARGS(fw_region_size, fw_size),
|
|
|
|
TP_STRUCT__entry(
|
|
__field(size_t, fw_region_size)
|
|
__field(size_t, fw_size)
|
|
),
|
|
|
|
TP_fast_assign(
|
|
__entry->fw_region_size = fw_region_size;
|
|
__entry->fw_size = fw_size;
|
|
),
|
|
|
|
TP_printk("FW region: %ld, size: %ld",
|
|
__entry->fw_region_size,
|
|
__entry->fw_size
|
|
)
|
|
);
|
|
|
|
DEFINE_EVENT(mfc_loadfw, mfc_loadfw_start,
|
|
|
|
TP_PROTO(size_t fw_region_size,
|
|
size_t fw_size),
|
|
|
|
TP_ARGS(fw_region_size, fw_size)
|
|
);
|
|
|
|
DEFINE_EVENT(mfc_loadfw, mfc_loadfw_end,
|
|
|
|
TP_PROTO(size_t fw_region_size,
|
|
size_t fw_size),
|
|
|
|
TP_ARGS(fw_region_size, fw_size)
|
|
);
|
|
|
|
DECLARE_EVENT_CLASS(mfc_dcpp,
|
|
|
|
TP_PROTO(int ctx_num,
|
|
int is_support_smc,
|
|
int drm_fw_status),
|
|
|
|
TP_ARGS(ctx_num, is_support_smc, drm_fw_status),
|
|
|
|
TP_STRUCT__entry(
|
|
__field( int, ctx_num )
|
|
__field( int, is_support_smc )
|
|
__field( int, drm_fw_status )
|
|
),
|
|
|
|
TP_fast_assign(
|
|
__entry->ctx_num = ctx_num;
|
|
__entry->is_support_smc = is_support_smc;
|
|
__entry->drm_fw_status = drm_fw_status;
|
|
),
|
|
|
|
TP_printk("ctx[%d] support drm=%d, drm fw %s",
|
|
__entry->ctx_num,
|
|
__entry->is_support_smc,
|
|
__entry->drm_fw_status ? "loaded" : "not-loaded"
|
|
)
|
|
);
|
|
|
|
DEFINE_EVENT(mfc_dcpp, mfc_dcpp_start,
|
|
|
|
TP_PROTO(int ctx_num,
|
|
int is_support_smc,
|
|
int drm_fw_status),
|
|
|
|
TP_ARGS(ctx_num, is_support_smc, drm_fw_status)
|
|
);
|
|
|
|
DEFINE_EVENT(mfc_dcpp, mfc_dcpp_end,
|
|
|
|
TP_PROTO(int ctx_num,
|
|
int is_support_smc,
|
|
int drm_fw_status),
|
|
|
|
TP_ARGS(ctx_num, is_support_smc, drm_fw_status)
|
|
);
|
|
|
|
DECLARE_EVENT_CLASS(mfc_frame,
|
|
|
|
TP_PROTO(int ctx_num,
|
|
int reason,
|
|
int type,
|
|
int is_drm),
|
|
|
|
TP_ARGS(ctx_num, reason, type, is_drm),
|
|
|
|
TP_STRUCT__entry(
|
|
__field( int, ctx_num )
|
|
__field( int, reason )
|
|
__field( int, type )
|
|
__field( int, is_drm )
|
|
),
|
|
|
|
TP_fast_assign(
|
|
__entry->ctx_num = ctx_num;
|
|
__entry->reason = reason;
|
|
__entry->type = type;
|
|
__entry->is_drm = is_drm;
|
|
),
|
|
|
|
TP_printk("ctx[%d] reason=%d, type=%d, %s",
|
|
__entry->ctx_num,
|
|
__entry->reason,
|
|
__entry->type,
|
|
__entry->is_drm ? "drm" : "normal"
|
|
)
|
|
);
|
|
|
|
DEFINE_EVENT(mfc_frame, mfc_frame_start,
|
|
|
|
TP_PROTO(int ctx_num,
|
|
int reason,
|
|
int type,
|
|
int is_drm),
|
|
|
|
TP_ARGS(ctx_num, reason, type, is_drm)
|
|
);
|
|
|
|
DEFINE_EVENT(mfc_frame, mfc_frame_top,
|
|
|
|
TP_PROTO(int ctx_num,
|
|
int reason,
|
|
int type,
|
|
int is_drm),
|
|
|
|
TP_ARGS(ctx_num, reason, type, is_drm)
|
|
);
|
|
|
|
DEFINE_EVENT(mfc_frame, mfc_frame_bottom,
|
|
|
|
TP_PROTO(int ctx_num,
|
|
int reason,
|
|
int type,
|
|
int is_drm),
|
|
|
|
TP_ARGS(ctx_num, reason, type, is_drm)
|
|
);
|
|
|
|
#endif /* _TRACE_MFC_H */
|
|
|
|
/* This part must be outside protection */
|
|
#include <trace/define_trace.h>
|