/* * 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 #include 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