1*0c078e31SDaniel Almeida /* SPDX-License-Identifier: GPL-2.0 */ 2*0c078e31SDaniel Almeida #if !defined(_VISL_TRACE_MPEG2_H_) || defined(TRACE_HEADER_MULTI_READ) 3*0c078e31SDaniel Almeida #define _VISL_TRACE_MPEG2_H_ 4*0c078e31SDaniel Almeida 5*0c078e31SDaniel Almeida #include <linux/tracepoint.h> 6*0c078e31SDaniel Almeida #include "visl.h" 7*0c078e31SDaniel Almeida 8*0c078e31SDaniel Almeida #undef TRACE_SYSTEM 9*0c078e31SDaniel Almeida #define TRACE_SYSTEM visl_mpeg2_controls 10*0c078e31SDaniel Almeida 11*0c078e31SDaniel Almeida DECLARE_EVENT_CLASS(v4l2_ctrl_mpeg2_seq_tmpl, 12*0c078e31SDaniel Almeida TP_PROTO(const struct v4l2_ctrl_mpeg2_sequence *s), 13*0c078e31SDaniel Almeida TP_ARGS(s), 14*0c078e31SDaniel Almeida TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_mpeg2_sequence, s)), 15*0c078e31SDaniel Almeida TP_fast_assign(__entry->s = *s;), 16*0c078e31SDaniel Almeida TP_printk("\nhorizontal_size %u\nvertical_size %u\nvbv_buffer_size %u\n" 17*0c078e31SDaniel Almeida "profile_and_level_indication %u\nchroma_format %u\nflags %s\n", 18*0c078e31SDaniel Almeida __entry->s.horizontal_size, 19*0c078e31SDaniel Almeida __entry->s.vertical_size, 20*0c078e31SDaniel Almeida __entry->s.vbv_buffer_size, 21*0c078e31SDaniel Almeida __entry->s.profile_and_level_indication, 22*0c078e31SDaniel Almeida __entry->s.chroma_format, 23*0c078e31SDaniel Almeida __print_flags(__entry->s.flags, "|", 24*0c078e31SDaniel Almeida {V4L2_MPEG2_SEQ_FLAG_PROGRESSIVE, "PROGRESSIVE"}) 25*0c078e31SDaniel Almeida ) 26*0c078e31SDaniel Almeida ); 27*0c078e31SDaniel Almeida 28*0c078e31SDaniel Almeida DECLARE_EVENT_CLASS(v4l2_ctrl_mpeg2_pic_tmpl, 29*0c078e31SDaniel Almeida TP_PROTO(const struct v4l2_ctrl_mpeg2_picture *p), 30*0c078e31SDaniel Almeida TP_ARGS(p), 31*0c078e31SDaniel Almeida TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_mpeg2_picture, p)), 32*0c078e31SDaniel Almeida TP_fast_assign(__entry->p = *p;), 33*0c078e31SDaniel Almeida TP_printk("\nbackward_ref_ts %llu\nforward_ref_ts %llu\nflags %s\nf_code {%s}\n" 34*0c078e31SDaniel Almeida "picture_coding_type: %u\npicture_structure %u\nintra_dc_precision %u\n", 35*0c078e31SDaniel Almeida __entry->p.backward_ref_ts, 36*0c078e31SDaniel Almeida __entry->p.forward_ref_ts, 37*0c078e31SDaniel Almeida __print_flags(__entry->p.flags, "|", 38*0c078e31SDaniel Almeida {V4L2_MPEG2_PIC_FLAG_TOP_FIELD_FIRST, "TOP_FIELD_FIRST"}, 39*0c078e31SDaniel Almeida {V4L2_MPEG2_PIC_FLAG_FRAME_PRED_DCT, "FRAME_PRED_DCT"}, 40*0c078e31SDaniel Almeida {V4L2_MPEG2_PIC_FLAG_CONCEALMENT_MV, "CONCEALMENT_MV"}, 41*0c078e31SDaniel Almeida {V4L2_MPEG2_PIC_FLAG_Q_SCALE_TYPE, "Q_SCALE_TYPE"}, 42*0c078e31SDaniel Almeida {V4L2_MPEG2_PIC_FLAG_INTRA_VLC, "INTA_VLC"}, 43*0c078e31SDaniel Almeida {V4L2_MPEG2_PIC_FLAG_ALT_SCAN, "ALT_SCAN"}, 44*0c078e31SDaniel Almeida {V4L2_MPEG2_PIC_FLAG_REPEAT_FIRST, "REPEAT_FIRST"}, 45*0c078e31SDaniel Almeida {V4L2_MPEG2_PIC_FLAG_PROGRESSIVE, "PROGRESSIVE"}), 46*0c078e31SDaniel Almeida __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1, 47*0c078e31SDaniel Almeida __entry->p.f_code, 48*0c078e31SDaniel Almeida sizeof(__entry->p.f_code), 49*0c078e31SDaniel Almeida false), 50*0c078e31SDaniel Almeida __entry->p.picture_coding_type, 51*0c078e31SDaniel Almeida __entry->p.picture_structure, 52*0c078e31SDaniel Almeida __entry->p.intra_dc_precision 53*0c078e31SDaniel Almeida ) 54*0c078e31SDaniel Almeida ); 55*0c078e31SDaniel Almeida 56*0c078e31SDaniel Almeida DECLARE_EVENT_CLASS(v4l2_ctrl_mpeg2_quant_tmpl, 57*0c078e31SDaniel Almeida TP_PROTO(const struct v4l2_ctrl_mpeg2_quantisation *q), 58*0c078e31SDaniel Almeida TP_ARGS(q), 59*0c078e31SDaniel Almeida TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_mpeg2_quantisation, q)), 60*0c078e31SDaniel Almeida TP_fast_assign(__entry->q = *q;), 61*0c078e31SDaniel Almeida TP_printk("\nintra_quantiser_matrix %s\nnon_intra_quantiser_matrix %s\n" 62*0c078e31SDaniel Almeida "chroma_intra_quantiser_matrix %s\nchroma_non_intra_quantiser_matrix %s\n", 63*0c078e31SDaniel Almeida __print_array(__entry->q.intra_quantiser_matrix, 64*0c078e31SDaniel Almeida ARRAY_SIZE(__entry->q.intra_quantiser_matrix), 65*0c078e31SDaniel Almeida sizeof(__entry->q.intra_quantiser_matrix[0])), 66*0c078e31SDaniel Almeida __print_array(__entry->q.non_intra_quantiser_matrix, 67*0c078e31SDaniel Almeida ARRAY_SIZE(__entry->q.non_intra_quantiser_matrix), 68*0c078e31SDaniel Almeida sizeof(__entry->q.non_intra_quantiser_matrix[0])), 69*0c078e31SDaniel Almeida __print_array(__entry->q.chroma_intra_quantiser_matrix, 70*0c078e31SDaniel Almeida ARRAY_SIZE(__entry->q.chroma_intra_quantiser_matrix), 71*0c078e31SDaniel Almeida sizeof(__entry->q.chroma_intra_quantiser_matrix[0])), 72*0c078e31SDaniel Almeida __print_array(__entry->q.chroma_non_intra_quantiser_matrix, 73*0c078e31SDaniel Almeida ARRAY_SIZE(__entry->q.chroma_non_intra_quantiser_matrix), 74*0c078e31SDaniel Almeida sizeof(__entry->q.chroma_non_intra_quantiser_matrix[0])) 75*0c078e31SDaniel Almeida ) 76*0c078e31SDaniel Almeida ) 77*0c078e31SDaniel Almeida 78*0c078e31SDaniel Almeida DEFINE_EVENT(v4l2_ctrl_mpeg2_seq_tmpl, v4l2_ctrl_mpeg2_sequence, 79*0c078e31SDaniel Almeida TP_PROTO(const struct v4l2_ctrl_mpeg2_sequence *s), 80*0c078e31SDaniel Almeida TP_ARGS(s) 81*0c078e31SDaniel Almeida ); 82*0c078e31SDaniel Almeida 83*0c078e31SDaniel Almeida DEFINE_EVENT(v4l2_ctrl_mpeg2_pic_tmpl, v4l2_ctrl_mpeg2_picture, 84*0c078e31SDaniel Almeida TP_PROTO(const struct v4l2_ctrl_mpeg2_picture *p), 85*0c078e31SDaniel Almeida TP_ARGS(p) 86*0c078e31SDaniel Almeida ); 87*0c078e31SDaniel Almeida 88*0c078e31SDaniel Almeida DEFINE_EVENT(v4l2_ctrl_mpeg2_quant_tmpl, v4l2_ctrl_mpeg2_quantisation, 89*0c078e31SDaniel Almeida TP_PROTO(const struct v4l2_ctrl_mpeg2_quantisation *q), 90*0c078e31SDaniel Almeida TP_ARGS(q) 91*0c078e31SDaniel Almeida ); 92*0c078e31SDaniel Almeida 93*0c078e31SDaniel Almeida #endif 94*0c078e31SDaniel Almeida 95*0c078e31SDaniel Almeida #undef TRACE_INCLUDE_PATH 96*0c078e31SDaniel Almeida #undef TRACE_INCLUDE_FILE 97*0c078e31SDaniel Almeida #define TRACE_INCLUDE_PATH ../../drivers/media/test-drivers/visl 98*0c078e31SDaniel Almeida #define TRACE_INCLUDE_FILE visl-trace-mpeg2 99*0c078e31SDaniel Almeida #include <trace/define_trace.h> 100