The trace events, moved from the visl driver, are simply using the
passed struct pointer to print the event in the trace.

This approach doesn't allow userspace to filter on fields, but also only
exposes the value of the pointer when using libtraceevent, which can't
be used to retrieve the control fields, forcing userspace to parse the
trace output.

To avoid that, list all fields from each passed struct in the trace.

Signed-off-by: Detlev Casanova <[email protected]>
---
 include/trace/events/v4l2_controls.h | 2171 ++++++++++++++++++++++++----------
 1 file changed, 1522 insertions(+), 649 deletions(-)

diff --git a/include/trace/events/v4l2_controls.h 
b/include/trace/events/v4l2_controls.h
index 9c74309b31ef..3a9bc75752bf 100644
--- a/include/trace/events/v4l2_controls.h
+++ b/include/trace/events/v4l2_controls.h
@@ -8,15 +8,34 @@
 #undef TRACE_SYSTEM
 #define TRACE_SYSTEM v4l2_controls
 
+/* V4L2 controls tracing events.
+ *
+ * These events are used to trace each V4L2 control when they are set by 
userspace.
+ * They can be identified by the name of the event. All control fields are 
copied in a TP_STRUCT
+ * field so that they can be filtered separately in userspace.
+ *
+ * Currently only the codec controls are supported.
+ */
+
 /* AV1 controls */
 DECLARE_EVENT_CLASS(v4l2_ctrl_av1_seq_tmpl,
        TP_PROTO(const struct v4l2_ctrl_av1_sequence *s),
        TP_ARGS(s),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_av1_sequence, s)),
-       TP_fast_assign(__entry->s = *s;),
+       TP_STRUCT__entry(__field(__u32, flags)
+                        __field(__u8, seq_profile)
+                        __field(__u8, order_hint_bits)
+                        __field(__u8, bit_depth)
+                        __field(__u16, max_frame_width_minus_1)
+                        __field(__u16, max_frame_height_minus_1)),
+       TP_fast_assign(__entry->flags = s->flags;
+                      __entry->seq_profile = s->seq_profile;
+                      __entry->order_hint_bits = s->order_hint_bits;
+                      __entry->bit_depth = s->bit_depth;
+                      __entry->max_frame_width_minus_1 = 
s->max_frame_width_minus_1;
+                      __entry->max_frame_height_minus_1 = 
s->max_frame_height_minus_1;),
        TP_printk("\nflags %s\nseq_profile: %u\norder_hint_bits: %u\nbit_depth: 
%u\n"
                  "max_frame_width_minus_1: %u\nmax_frame_height_minus_1: %u\n",
-                 __print_flags(__entry->s.flags, "|",
+                 __print_flags(__entry->flags, "|",
                  {V4L2_AV1_SEQUENCE_FLAG_STILL_PICTURE, "STILL_PICTURE"},
                  {V4L2_AV1_SEQUENCE_FLAG_USE_128X128_SUPERBLOCK, 
"USE_128X128_SUPERBLOCK"},
                  {V4L2_AV1_SEQUENCE_FLAG_ENABLE_FILTER_INTRA, 
"ENABLE_FILTER_INTRA"},
@@ -37,32 +56,176 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_av1_seq_tmpl,
                  {V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_Y, "SUBSAMPLING_Y"},
                  {V4L2_AV1_SEQUENCE_FLAG_FILM_GRAIN_PARAMS_PRESENT, 
"FILM_GRAIN_PARAMS_PRESENT"},
                  {V4L2_AV1_SEQUENCE_FLAG_SEPARATE_UV_DELTA_Q, 
"SEPARATE_UV_DELTA_Q"}),
-                 __entry->s.seq_profile,
-                 __entry->s.order_hint_bits,
-                 __entry->s.bit_depth,
-                 __entry->s.max_frame_width_minus_1,
-                 __entry->s.max_frame_height_minus_1
+                 __entry->seq_profile,
+                 __entry->order_hint_bits,
+                 __entry->bit_depth,
+                 __entry->max_frame_width_minus_1,
+                 __entry->max_frame_height_minus_1
        )
 );
 
 DECLARE_EVENT_CLASS(v4l2_ctrl_av1_tge_tmpl,
        TP_PROTO(const struct v4l2_ctrl_av1_tile_group_entry *t),
        TP_ARGS(t),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_av1_tile_group_entry, 
t)),
-       TP_fast_assign(__entry->t = *t;),
+       TP_STRUCT__entry(__field(__u32, tile_offset)
+                        __field(__u32, tile_size)
+                        __field(__u32, tile_row)
+                        __field(__u32, tile_col)),
+       TP_fast_assign(__entry->tile_offset = t->tile_offset;
+                      __entry->tile_size = t->tile_size;
+                      __entry->tile_row = t->tile_row;
+                      __entry->tile_col = t->tile_col;),
        TP_printk("\ntile_offset: %u\n tile_size: %u\n tile_row: %u\ntile_col: 
%u\n",
-                 __entry->t.tile_offset,
-                 __entry->t.tile_size,
-                 __entry->t.tile_row,
-                 __entry->t.tile_col
+                 __entry->tile_offset,
+                 __entry->tile_size,
+                 __entry->tile_row,
+                 __entry->tile_col
        )
 );
 
 DECLARE_EVENT_CLASS(v4l2_ctrl_av1_frame_tmpl,
        TP_PROTO(const struct v4l2_ctrl_av1_frame *f),
        TP_ARGS(f),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_av1_frame, f)),
-       TP_fast_assign(__entry->f = *f;),
+       TP_STRUCT__entry(__field(u8, tile_info_flags)
+                        __field(u8, tile_info_context_update_tile_id)
+                        __field(u8, tile_info_tile_cols)
+                        __field(u8, tile_info_tile_rows)
+                        __array(u32, tile_info_mi_col_starts, 
V4L2_AV1_MAX_TILE_COLS + 1)
+                        __array(u32, tile_info_mi_row_starts, 
V4L2_AV1_MAX_TILE_ROWS + 1)
+                        __array(u32, tile_info_width_in_sbs_minus_1, 
V4L2_AV1_MAX_TILE_COLS)
+                        __array(u32, tile_info_height_in_sbs_minus_1, 
V4L2_AV1_MAX_TILE_ROWS)
+                        __field(u8, tile_info_tile_size_bytes)
+                        __field(u8, quantization_flags)
+                        __field(u8, quantization_base_q_idx)
+                        __field(s8, quantization_delta_q_y_dc)
+                        __field(s8, quantization_delta_q_u_dc)
+                        __field(s8, quantization_delta_q_u_ac)
+                        __field(s8, quantization_delta_q_v_dc)
+                        __field(s8, quantization_delta_q_v_ac)
+                        __field(u8, quantization_qm_y)
+                        __field(u8, quantization_qm_u)
+                        __field(u8, quantization_qm_v)
+                        __field(u8, quantization_delta_q_res)
+                        __field(u8, superres_denom)
+                        __field(u8, segmentation_flags)
+                        __field(u8, segmentation_last_active_seg_id)
+                        __array(u8, segmentation_feature_enabled, 
V4L2_AV1_MAX_SEGMENTS)
+                        __field(u8, loop_filter_flags)
+                        __array(u8, loop_filter_level, 4)
+                        __field(u8, loop_filter_sharpness)
+                        __array(s8, loop_filter_ref_deltas, 
V4L2_AV1_TOTAL_REFS_PER_FRAME)
+                        __array(s8, loop_filter_mode_deltas, 2)
+                        __field(u8, loop_filter_delta_lf_res)
+                        __field(u8, cdef_damping_minus_3)
+                        __field(u8, cdef_bits)
+                        __array(u8, cdef_y_pri_strength, V4L2_AV1_CDEF_MAX)
+                        __array(u8, cdef_y_sec_strength, V4L2_AV1_CDEF_MAX)
+                        __array(u8, cdef_uv_pri_strength, V4L2_AV1_CDEF_MAX)
+                        __array(u8, cdef_uv_sec_strength, V4L2_AV1_CDEF_MAX)
+                        __array(u8, skip_mode_frame, 2)
+                        __field(u8, primary_ref_frame)
+                        __field(u8, loop_restoration_flags)
+                        __field(u8, loop_restoration_lr_unit_shift)
+                        __field(u8, loop_restoration_lr_uv_shift)
+                        __array(int,
+                                loop_restoration_frame_restoration_type, 
V4L2_AV1_NUM_PLANES_MAX)
+                        __array(u32,
+                                loop_restoration_loop_restoration_size, 
V4L2_AV1_MAX_NUM_PLANES)
+                        __field(u32, flags)
+                        __field(u32, order_hint)
+                        __field(u32, upscaled_width)
+                        __field(u32, frame_width_minus_1)
+                        __field(u32, frame_height_minus_1)
+                        __field(u16, render_width_minus_1)
+                        __field(u16, render_height_minus_1)
+                        __field(u32, current_frame_id)
+                        __array(u32, buffer_removal_time, 
V4L2_AV1_MAX_OPERATING_POINTS)
+                        __array(u32, order_hints, 
V4L2_AV1_TOTAL_REFS_PER_FRAME)
+                        __array(u64, reference_frame_ts, 
V4L2_AV1_TOTAL_REFS_PER_FRAME)
+                        __array(s8, ref_frame_idx, V4L2_AV1_REFS_PER_FRAME)
+                        __field(u8, refresh_frame_flags)),
+       TP_fast_assign(__entry->tile_info_flags = f->tile_info.flags;
+                      __entry->tile_info_context_update_tile_id =
+                               f->tile_info.context_update_tile_id;
+                      __entry->tile_info_tile_cols = f->tile_info.tile_cols;
+                      __entry->tile_info_tile_rows = f->tile_info.tile_rows;
+                      memcpy(__entry->tile_info_mi_col_starts, 
f->tile_info.mi_col_starts,
+                             sizeof(__entry->tile_info_mi_col_starts));
+                      memcpy(__entry->tile_info_mi_row_starts, 
f->tile_info.mi_row_starts,
+                             sizeof(__entry->tile_info_mi_row_starts));
+                      memcpy(__entry->tile_info_width_in_sbs_minus_1,
+                             f->tile_info.width_in_sbs_minus_1,
+                             sizeof(__entry->tile_info_width_in_sbs_minus_1));
+                      memcpy(__entry->tile_info_height_in_sbs_minus_1,
+                             f->tile_info.height_in_sbs_minus_1,
+                             sizeof(__entry->tile_info_height_in_sbs_minus_1));
+                      __entry->tile_info_tile_size_bytes = 
f->tile_info.tile_size_bytes;
+                      __entry->quantization_flags = f->quantization.flags;
+                      __entry->quantization_base_q_idx = 
f->quantization.base_q_idx;
+                      __entry->quantization_delta_q_y_dc = 
f->quantization.delta_q_y_dc;
+                      __entry->quantization_delta_q_u_dc = 
f->quantization.delta_q_u_dc;
+                      __entry->quantization_delta_q_u_ac = 
f->quantization.delta_q_u_ac;
+                      __entry->quantization_delta_q_v_dc = 
f->quantization.delta_q_v_dc;
+                      __entry->quantization_delta_q_v_ac = 
f->quantization.delta_q_v_ac;
+                      __entry->quantization_qm_y = f->quantization.qm_y;
+                      __entry->quantization_qm_u = f->quantization.qm_u;
+                      __entry->quantization_qm_v = f->quantization.qm_v;
+                      __entry->quantization_delta_q_res = 
f->quantization.delta_q_res;
+                      __entry->superres_denom = f->superres_denom;
+                      __entry->segmentation_flags = f->segmentation.flags;
+                      __entry->segmentation_last_active_seg_id =
+                               f->segmentation.last_active_seg_id;
+                      memcpy(__entry->segmentation_feature_enabled,
+                             f->segmentation.feature_enabled,
+                             sizeof(__entry->segmentation_feature_enabled));
+                      __entry->loop_filter_flags = f->loop_filter.flags;
+                      memcpy(__entry->loop_filter_level, f->loop_filter.level,
+                             sizeof(__entry->loop_filter_level));
+                      __entry->loop_filter_sharpness = 
f->loop_filter.sharpness;
+                      memcpy(__entry->loop_filter_ref_deltas, 
f->loop_filter.ref_deltas,
+                             sizeof(__entry->loop_filter_ref_deltas));
+                      memcpy(__entry->loop_filter_mode_deltas, 
f->loop_filter.mode_deltas,
+                             sizeof(__entry->loop_filter_mode_deltas));
+                      __entry->loop_filter_delta_lf_res = 
f->loop_filter.delta_lf_res;
+                      __entry->cdef_damping_minus_3 = f->cdef.damping_minus_3;
+                      __entry->cdef_bits = f->cdef.bits;
+                      memcpy(__entry->cdef_y_pri_strength, 
f->cdef.y_pri_strength,
+                             sizeof(__entry->cdef_y_pri_strength));
+                      memcpy(__entry->cdef_y_sec_strength, 
f->cdef.y_sec_strength,
+                             sizeof(__entry->cdef_y_sec_strength));
+                      memcpy(__entry->cdef_uv_pri_strength, 
f->cdef.uv_pri_strength,
+                             sizeof(__entry->cdef_uv_pri_strength));
+                      memcpy(__entry->cdef_uv_sec_strength, 
f->cdef.uv_sec_strength,
+                             sizeof(__entry->cdef_uv_sec_strength));
+                      memcpy(__entry->skip_mode_frame, f->skip_mode_frame,
+                             sizeof(__entry->skip_mode_frame));
+                      __entry->primary_ref_frame = f->primary_ref_frame;
+                      __entry->loop_restoration_flags = 
f->loop_restoration.flags;
+                      __entry->loop_restoration_lr_unit_shift = 
f->loop_restoration.lr_unit_shift;
+                      __entry->loop_restoration_lr_uv_shift = 
f->loop_restoration.lr_uv_shift;
+                      memcpy(__entry->loop_restoration_frame_restoration_type,
+                             f->loop_restoration.frame_restoration_type,
+                             
sizeof(__entry->loop_restoration_frame_restoration_type));
+                      memcpy(__entry->loop_restoration_loop_restoration_size,
+                             f->loop_restoration.loop_restoration_size,
+                             
sizeof(__entry->loop_restoration_loop_restoration_size));
+                      __entry->flags = f->flags;
+                      __entry->order_hint = f->order_hint;
+                      __entry->upscaled_width = f->upscaled_width;
+                      __entry->frame_width_minus_1 = f->frame_width_minus_1;
+                      __entry->frame_height_minus_1 = f->frame_height_minus_1;
+                      __entry->render_width_minus_1 = f->render_width_minus_1;
+                      __entry->render_height_minus_1 = 
f->render_height_minus_1;
+                      __entry->current_frame_id = f->current_frame_id;
+                      memcpy(__entry->buffer_removal_time, 
f->buffer_removal_time,
+                             sizeof(__entry->buffer_removal_time));
+                      memcpy(__entry->order_hints, f->order_hints,
+                             sizeof(__entry->order_hints));
+                      memcpy(__entry->reference_frame_ts, 
f->reference_frame_ts,
+                             sizeof(__entry->reference_frame_ts));
+                      memcpy(__entry->ref_frame_idx, f->ref_frame_idx,
+                             sizeof(__entry->ref_frame_idx));
+                      __entry->refresh_frame_flags = f->refresh_frame_flags;),
        TP_printk("\ntile_info.flags: %s\ntile_info.context_update_tile_id: 
%u\n"
                  "tile_info.tile_cols: %u\ntile_info.tile_rows: %u\n"
                  "tile_info.mi_col_starts: %s\ntile_info.mi_row_starts: %s\n"
@@ -87,95 +250,95 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_av1_frame_tmpl,
                  "render_width_minus_1: %u\nrender_height_minus_1: 
%u\ncurrent_frame_id: %u\n"
                  "buffer_removal_time: %s\norder_hints: 
%s\nreference_frame_ts: %s\n"
                  "ref_frame_idx: %s\nrefresh_frame_flags: %u\n",
-                 __print_flags(__entry->f.tile_info.flags, "|",
+                 __print_flags(__entry->tile_info_flags, "|",
                  {V4L2_AV1_TILE_INFO_FLAG_UNIFORM_TILE_SPACING, 
"UNIFORM_TILE_SPACING"}),
-                 __entry->f.tile_info.context_update_tile_id,
-                 __entry->f.tile_info.tile_cols,
-                 __entry->f.tile_info.tile_rows,
-                 __print_array(__entry->f.tile_info.mi_col_starts,
-                               ARRAY_SIZE(__entry->f.tile_info.mi_col_starts),
-                               sizeof(__entry->f.tile_info.mi_col_starts[0])),
-                 __print_array(__entry->f.tile_info.mi_row_starts,
-                               ARRAY_SIZE(__entry->f.tile_info.mi_row_starts),
-                               sizeof(__entry->f.tile_info.mi_row_starts[0])),
-                 __print_array(__entry->f.tile_info.width_in_sbs_minus_1,
-                               
ARRAY_SIZE(__entry->f.tile_info.width_in_sbs_minus_1),
-                               
sizeof(__entry->f.tile_info.width_in_sbs_minus_1[0])),
-                 __print_array(__entry->f.tile_info.height_in_sbs_minus_1,
-                               
ARRAY_SIZE(__entry->f.tile_info.height_in_sbs_minus_1),
-                               
sizeof(__entry->f.tile_info.height_in_sbs_minus_1[0])),
-                 __entry->f.tile_info.tile_size_bytes,
-                 __print_flags(__entry->f.quantization.flags, "|",
+                 __entry->tile_info_context_update_tile_id,
+                 __entry->tile_info_tile_cols,
+                 __entry->tile_info_tile_rows,
+                 __print_array(__entry->tile_info_mi_col_starts,
+                               ARRAY_SIZE(__entry->tile_info_mi_col_starts),
+                               sizeof(__entry->tile_info_mi_col_starts[0])),
+                 __print_array(__entry->tile_info_mi_row_starts,
+                               ARRAY_SIZE(__entry->tile_info_mi_row_starts),
+                               sizeof(__entry->tile_info_mi_row_starts[0])),
+                 __print_array(__entry->tile_info_width_in_sbs_minus_1,
+                               
ARRAY_SIZE(__entry->tile_info_width_in_sbs_minus_1),
+                               
sizeof(__entry->tile_info_width_in_sbs_minus_1[0])),
+                 __print_array(__entry->tile_info_height_in_sbs_minus_1,
+                               
ARRAY_SIZE(__entry->tile_info_height_in_sbs_minus_1),
+                               
sizeof(__entry->tile_info_height_in_sbs_minus_1[0])),
+                 __entry->tile_info_tile_size_bytes,
+                 __print_flags(__entry->quantization_flags, "|",
                  {V4L2_AV1_QUANTIZATION_FLAG_DIFF_UV_DELTA, "DIFF_UV_DELTA"},
                  {V4L2_AV1_QUANTIZATION_FLAG_USING_QMATRIX, "USING_QMATRIX"},
                  {V4L2_AV1_QUANTIZATION_FLAG_DELTA_Q_PRESENT, 
"DELTA_Q_PRESENT"}),
-                 __entry->f.quantization.base_q_idx,
-                 __entry->f.quantization.delta_q_y_dc,
-                 __entry->f.quantization.delta_q_u_dc,
-                 __entry->f.quantization.delta_q_u_ac,
-                 __entry->f.quantization.delta_q_v_dc,
-                 __entry->f.quantization.delta_q_v_ac,
-                 __entry->f.quantization.qm_y,
-                 __entry->f.quantization.qm_u,
-                 __entry->f.quantization.qm_v,
-                 __entry->f.quantization.delta_q_res,
-                 __entry->f.superres_denom,
-                 __print_flags(__entry->f.segmentation.flags, "|",
+                 __entry->quantization_base_q_idx,
+                 __entry->quantization_delta_q_y_dc,
+                 __entry->quantization_delta_q_u_dc,
+                 __entry->quantization_delta_q_u_ac,
+                 __entry->quantization_delta_q_v_dc,
+                 __entry->quantization_delta_q_v_ac,
+                 __entry->quantization_qm_y,
+                 __entry->quantization_qm_u,
+                 __entry->quantization_qm_v,
+                 __entry->quantization_delta_q_res,
+                 __entry->superres_denom,
+                 __print_flags(__entry->segmentation_flags, "|",
                  {V4L2_AV1_SEGMENTATION_FLAG_ENABLED, "ENABLED"},
                  {V4L2_AV1_SEGMENTATION_FLAG_UPDATE_MAP, "UPDATE_MAP"},
                  {V4L2_AV1_SEGMENTATION_FLAG_TEMPORAL_UPDATE, 
"TEMPORAL_UPDATE"},
                  {V4L2_AV1_SEGMENTATION_FLAG_UPDATE_DATA, "UPDATE_DATA"},
                  {V4L2_AV1_SEGMENTATION_FLAG_SEG_ID_PRE_SKIP, 
"SEG_ID_PRE_SKIP"}),
-                 __entry->f.segmentation.last_active_seg_id,
-                 __print_array(__entry->f.segmentation.feature_enabled,
-                               
ARRAY_SIZE(__entry->f.segmentation.feature_enabled),
-                               
sizeof(__entry->f.segmentation.feature_enabled[0])),
-                 __print_flags(__entry->f.loop_filter.flags, "|",
+                 __entry->segmentation_last_active_seg_id,
+                 __print_array(__entry->segmentation_feature_enabled,
+                               
ARRAY_SIZE(__entry->segmentation_feature_enabled),
+                               
sizeof(__entry->segmentation_feature_enabled[0])),
+                 __print_flags(__entry->loop_filter_flags, "|",
                  {V4L2_AV1_LOOP_FILTER_FLAG_DELTA_ENABLED, "DELTA_ENABLED"},
                  {V4L2_AV1_LOOP_FILTER_FLAG_DELTA_UPDATE, "DELTA_UPDATE"},
                  {V4L2_AV1_LOOP_FILTER_FLAG_DELTA_LF_PRESENT, 
"DELTA_LF_PRESENT"},
                  {V4L2_AV1_LOOP_FILTER_FLAG_DELTA_LF_MULTI, "DELTA_LF_MULTI"}),
-                 __print_array(__entry->f.loop_filter.level,
-                               ARRAY_SIZE(__entry->f.loop_filter.level),
-                               sizeof(__entry->f.loop_filter.level[0])),
-                 __entry->f.loop_filter.sharpness,
-                 __print_array(__entry->f.loop_filter.ref_deltas,
-                               ARRAY_SIZE(__entry->f.loop_filter.ref_deltas),
-                               sizeof(__entry->f.loop_filter.ref_deltas[0])),
-                 __print_array(__entry->f.loop_filter.mode_deltas,
-                               ARRAY_SIZE(__entry->f.loop_filter.mode_deltas),
-                               sizeof(__entry->f.loop_filter.mode_deltas[0])),
-                 __entry->f.loop_filter.delta_lf_res,
-                 __entry->f.cdef.damping_minus_3,
-                 __entry->f.cdef.bits,
-                 __print_array(__entry->f.cdef.y_pri_strength,
-                               ARRAY_SIZE(__entry->f.cdef.y_pri_strength),
-                               sizeof(__entry->f.cdef.y_pri_strength[0])),
-                 __print_array(__entry->f.cdef.y_sec_strength,
-                               ARRAY_SIZE(__entry->f.cdef.y_sec_strength),
-                               sizeof(__entry->f.cdef.y_sec_strength[0])),
-                 __print_array(__entry->f.cdef.uv_pri_strength,
-                               ARRAY_SIZE(__entry->f.cdef.uv_pri_strength),
-                               sizeof(__entry->f.cdef.uv_pri_strength[0])),
-                 __print_array(__entry->f.cdef.uv_sec_strength,
-                               ARRAY_SIZE(__entry->f.cdef.uv_sec_strength),
-                               sizeof(__entry->f.cdef.uv_sec_strength[0])),
-                 __print_array(__entry->f.skip_mode_frame,
-                               ARRAY_SIZE(__entry->f.skip_mode_frame),
-                               sizeof(__entry->f.skip_mode_frame[0])),
-                 __entry->f.primary_ref_frame,
-                 __print_flags(__entry->f.loop_restoration.flags, "|",
+                 __print_array(__entry->loop_filter_level,
+                               ARRAY_SIZE(__entry->loop_filter_level),
+                               sizeof(__entry->loop_filter_level[0])),
+                 __entry->loop_filter_sharpness,
+                 __print_array(__entry->loop_filter_ref_deltas,
+                               ARRAY_SIZE(__entry->loop_filter_ref_deltas),
+                               sizeof(__entry->loop_filter_ref_deltas[0])),
+                 __print_array(__entry->loop_filter_mode_deltas,
+                               ARRAY_SIZE(__entry->loop_filter_mode_deltas),
+                               sizeof(__entry->loop_filter_mode_deltas[0])),
+                 __entry->loop_filter_delta_lf_res,
+                 __entry->cdef_damping_minus_3,
+                 __entry->cdef_bits,
+                 __print_array(__entry->cdef_y_pri_strength,
+                               ARRAY_SIZE(__entry->cdef_y_pri_strength),
+                               sizeof(__entry->cdef_y_pri_strength[0])),
+                 __print_array(__entry->cdef_y_sec_strength,
+                               ARRAY_SIZE(__entry->cdef_y_sec_strength),
+                               sizeof(__entry->cdef_y_sec_strength[0])),
+                 __print_array(__entry->cdef_uv_pri_strength,
+                               ARRAY_SIZE(__entry->cdef_uv_pri_strength),
+                               sizeof(__entry->cdef_uv_pri_strength[0])),
+                 __print_array(__entry->cdef_uv_sec_strength,
+                               ARRAY_SIZE(__entry->cdef_uv_sec_strength),
+                               sizeof(__entry->cdef_uv_sec_strength[0])),
+                 __print_array(__entry->skip_mode_frame,
+                               ARRAY_SIZE(__entry->skip_mode_frame),
+                               sizeof(__entry->skip_mode_frame[0])),
+                 __entry->primary_ref_frame,
+                 __print_flags(__entry->loop_restoration_flags, "|",
                  {V4L2_AV1_LOOP_RESTORATION_FLAG_USES_LR, "USES_LR"},
                  {V4L2_AV1_LOOP_RESTORATION_FLAG_USES_CHROMA_LR, 
"USES_CHROMA_LR"}),
-                 __entry->f.loop_restoration.lr_unit_shift,
-                 __entry->f.loop_restoration.lr_uv_shift,
-                 
__print_array(__entry->f.loop_restoration.frame_restoration_type,
-                               
ARRAY_SIZE(__entry->f.loop_restoration.frame_restoration_type),
-                               
sizeof(__entry->f.loop_restoration.frame_restoration_type[0])),
-                 
__print_array(__entry->f.loop_restoration.loop_restoration_size,
-                               
ARRAY_SIZE(__entry->f.loop_restoration.loop_restoration_size),
-                               
sizeof(__entry->f.loop_restoration.loop_restoration_size[0])),
-                 __print_flags(__entry->f.flags, "|",
+                 __entry->loop_restoration_lr_unit_shift,
+                 __entry->loop_restoration_lr_uv_shift,
+                 
__print_array(__entry->loop_restoration_frame_restoration_type,
+                               
ARRAY_SIZE(__entry->loop_restoration_frame_restoration_type),
+                               
sizeof(__entry->loop_restoration_frame_restoration_type[0])),
+                 __print_array(__entry->loop_restoration_loop_restoration_size,
+                               
ARRAY_SIZE(__entry->loop_restoration_loop_restoration_size),
+                               
sizeof(__entry->loop_restoration_loop_restoration_size[0])),
+                 __print_flags(__entry->flags, "|",
                  {V4L2_AV1_FRAME_FLAG_SHOW_FRAME, "SHOW_FRAME"},
                  {V4L2_AV1_FRAME_FLAG_SHOWABLE_FRAME, "SHOWABLE_FRAME"},
                  {V4L2_AV1_FRAME_FLAG_ERROR_RESILIENT_MODE, 
"ERROR_RESILIENT_MODE"},
@@ -197,26 +360,26 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_av1_frame_tmpl,
                  {V4L2_AV1_FRAME_FLAG_FRAME_SIZE_OVERRIDE, 
"FRAME_SIZE_OVERRIDE"},
                  {V4L2_AV1_FRAME_FLAG_BUFFER_REMOVAL_TIME_PRESENT, 
"BUFFER_REMOVAL_TIME_PRESENT"},
                  {V4L2_AV1_FRAME_FLAG_FRAME_REFS_SHORT_SIGNALING, 
"FRAME_REFS_SHORT_SIGNALING"}),
-                 __entry->f.order_hint,
-                 __entry->f.upscaled_width,
-                 __entry->f.frame_width_minus_1,
-                 __entry->f.frame_height_minus_1,
-                 __entry->f.render_width_minus_1,
-                 __entry->f.render_height_minus_1,
-                 __entry->f.current_frame_id,
-                 __print_array(__entry->f.buffer_removal_time,
-                               ARRAY_SIZE(__entry->f.buffer_removal_time),
-                               sizeof(__entry->f.buffer_removal_time[0])),
-                 __print_array(__entry->f.order_hints,
-                               ARRAY_SIZE(__entry->f.order_hints),
-                               sizeof(__entry->f.order_hints[0])),
-                 __print_array(__entry->f.reference_frame_ts,
-                               ARRAY_SIZE(__entry->f.reference_frame_ts),
-                               sizeof(__entry->f.reference_frame_ts[0])),
-                 __print_array(__entry->f.ref_frame_idx,
-                               ARRAY_SIZE(__entry->f.ref_frame_idx),
-                               sizeof(__entry->f.ref_frame_idx[0])),
-                 __entry->f.refresh_frame_flags
+                 __entry->order_hint,
+                 __entry->upscaled_width,
+                 __entry->frame_width_minus_1,
+                 __entry->frame_height_minus_1,
+                 __entry->render_width_minus_1,
+                 __entry->render_height_minus_1,
+                 __entry->current_frame_id,
+                 __print_array(__entry->buffer_removal_time,
+                               ARRAY_SIZE(__entry->buffer_removal_time),
+                               sizeof(__entry->buffer_removal_time[0])),
+                 __print_array(__entry->order_hints,
+                               ARRAY_SIZE(__entry->order_hints),
+                               sizeof(__entry->order_hints[0])),
+                 __print_array(__entry->reference_frame_ts,
+                               ARRAY_SIZE(__entry->reference_frame_ts),
+                               sizeof(__entry->reference_frame_ts[0])),
+                 __print_array(__entry->ref_frame_idx,
+                               ARRAY_SIZE(__entry->ref_frame_idx),
+                               sizeof(__entry->ref_frame_idx[0])),
+                 __entry->refresh_frame_flags
        )
 );
 
@@ -224,8 +387,65 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_av1_frame_tmpl,
 DECLARE_EVENT_CLASS(v4l2_ctrl_av1_film_grain_tmpl,
        TP_PROTO(const struct v4l2_ctrl_av1_film_grain *f),
        TP_ARGS(f),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_av1_film_grain, f)),
-       TP_fast_assign(__entry->f = *f;),
+       TP_STRUCT__entry(__field(__u8, flags)
+                        __field(__u8, cr_mult)
+                        __field(__u16, grain_seed)
+                        __field(__u8, film_grain_params_ref_idx)
+                        __field(__u8, num_y_points)
+                        __array(__u8, point_y_value, V4L2_AV1_MAX_NUM_Y_POINTS)
+                        __array(__u8, point_y_scaling, 
V4L2_AV1_MAX_NUM_Y_POINTS)
+                        __field(__u8, num_cb_points)
+                        __array(__u8, point_cb_value, 
V4L2_AV1_MAX_NUM_CB_POINTS)
+                        __array(__u8, point_cb_scaling, 
V4L2_AV1_MAX_NUM_CB_POINTS)
+                        __field(__u8, num_cr_points)
+                        __array(__u8, point_cr_value, 
V4L2_AV1_MAX_NUM_CR_POINTS)
+                        __array(__u8, point_cr_scaling, 
V4L2_AV1_MAX_NUM_CR_POINTS)
+                        __field(__u8, grain_scaling_minus_8)
+                        __field(__u8, ar_coeff_lag)
+                        __array(__u8, ar_coeffs_y_plus_128, 
V4L2_AV1_AR_COEFFS_SIZE)
+                        __array(__u8, ar_coeffs_cb_plus_128, 
V4L2_AV1_AR_COEFFS_SIZE)
+                        __array(__u8, ar_coeffs_cr_plus_128, 
V4L2_AV1_AR_COEFFS_SIZE)
+                        __field(__u8, ar_coeff_shift_minus_6)
+                        __field(__u8, grain_scale_shift)
+                        __field(__u8, cb_mult)
+                        __field(__u8, cb_luma_mult)
+                        __field(__u8, cr_luma_mult)
+                        __field(__u16, cb_offset)
+                        __field(__u16, cr_offset)),
+       TP_fast_assign(__entry->flags = f->flags;
+                      __entry->cr_mult = f->cr_mult;
+                      __entry->grain_seed = f->grain_seed;
+                      __entry->film_grain_params_ref_idx = 
f->film_grain_params_ref_idx;
+                      __entry->num_y_points = f->num_y_points;
+                      memcpy(__entry->point_y_value, f->point_y_value,
+                             sizeof(__entry->point_y_value));
+                      memcpy(__entry->point_y_scaling, f->point_y_scaling,
+                             sizeof(__entry->point_y_scaling));
+                      __entry->num_cb_points = f->num_cb_points;
+                      memcpy(__entry->point_cb_value, f->point_cb_value,
+                             sizeof(__entry->point_cb_value));
+                      memcpy(__entry->point_cb_scaling, f->point_cb_scaling,
+                             sizeof(__entry->point_cb_scaling));
+                      __entry->num_cr_points = f->num_cr_points;
+                      memcpy(__entry->point_cr_value, f->point_cr_value,
+                             sizeof(__entry->point_cr_value));
+                      memcpy(__entry->point_cr_scaling, f->point_cr_scaling,
+                             sizeof(__entry->point_cr_scaling));
+                      __entry->grain_scaling_minus_8 = 
f->grain_scaling_minus_8;
+                      __entry->ar_coeff_lag = f->ar_coeff_lag;
+                      memcpy(__entry->ar_coeffs_y_plus_128, 
f->ar_coeffs_y_plus_128,
+                             sizeof(__entry->ar_coeffs_y_plus_128));
+                      memcpy(__entry->ar_coeffs_cb_plus_128, 
f->ar_coeffs_cb_plus_128,
+                             sizeof(__entry->ar_coeffs_cb_plus_128));
+                      memcpy(__entry->ar_coeffs_cr_plus_128, 
f->ar_coeffs_cr_plus_128,
+                             sizeof(__entry->ar_coeffs_cr_plus_128));
+                      __entry->ar_coeff_shift_minus_6 = 
f->ar_coeff_shift_minus_6;
+                      __entry->grain_scale_shift = f->grain_scale_shift;
+                      __entry->cb_mult = f->cb_mult;
+                      __entry->cb_luma_mult = f->cb_luma_mult;
+                      __entry->cr_luma_mult = f->cr_luma_mult;
+                      __entry->cb_offset = f->cb_offset;
+                      __entry->cr_offset = f->cr_offset;),
        TP_printk("\nflags %s\ncr_mult: %u\ngrain_seed: %u\n"
                  "film_grain_params_ref_idx: %u\nnum_y_points: 
%u\npoint_y_value: %s\n"
                  "point_y_scaling: %s\nnum_cb_points: %u\npoint_cb_value: %s\n"
@@ -235,54 +455,54 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_av1_film_grain_tmpl,
                  "ar_coeffs_cr_plus_128: %s\nar_coeff_shift_minus_6: %u\n"
                  "grain_scale_shift: %u\ncb_mult: %u\ncb_luma_mult: 
%u\ncr_luma_mult: %u\n"
                  "cb_offset: %u\ncr_offset: %u\n",
-                 __print_flags(__entry->f.flags, "|",
+                 __print_flags(__entry->flags, "|",
                  {V4L2_AV1_FILM_GRAIN_FLAG_APPLY_GRAIN, "APPLY_GRAIN"},
                  {V4L2_AV1_FILM_GRAIN_FLAG_UPDATE_GRAIN, "UPDATE_GRAIN"},
                  {V4L2_AV1_FILM_GRAIN_FLAG_CHROMA_SCALING_FROM_LUMA, 
"CHROMA_SCALING_FROM_LUMA"},
                  {V4L2_AV1_FILM_GRAIN_FLAG_OVERLAP, "OVERLAP"},
                  {V4L2_AV1_FILM_GRAIN_FLAG_CLIP_TO_RESTRICTED_RANGE, 
"CLIP_TO_RESTRICTED_RANGE"}),
-                 __entry->f.cr_mult,
-                 __entry->f.grain_seed,
-                 __entry->f.film_grain_params_ref_idx,
-                 __entry->f.num_y_points,
-                 __print_array(__entry->f.point_y_value,
-                               ARRAY_SIZE(__entry->f.point_y_value),
-                               sizeof(__entry->f.point_y_value[0])),
-                 __print_array(__entry->f.point_y_scaling,
-                               ARRAY_SIZE(__entry->f.point_y_scaling),
-                               sizeof(__entry->f.point_y_scaling[0])),
-                 __entry->f.num_cb_points,
-                 __print_array(__entry->f.point_cb_value,
-                               ARRAY_SIZE(__entry->f.point_cb_value),
-                               sizeof(__entry->f.point_cb_value[0])),
-                 __print_array(__entry->f.point_cb_scaling,
-                               ARRAY_SIZE(__entry->f.point_cb_scaling),
-                               sizeof(__entry->f.point_cb_scaling[0])),
-                 __entry->f.num_cr_points,
-                 __print_array(__entry->f.point_cr_value,
-                               ARRAY_SIZE(__entry->f.point_cr_value),
-                               sizeof(__entry->f.point_cr_value[0])),
-                 __print_array(__entry->f.point_cr_scaling,
-                               ARRAY_SIZE(__entry->f.point_cr_scaling),
-                               sizeof(__entry->f.point_cr_scaling[0])),
-                 __entry->f.grain_scaling_minus_8,
-                 __entry->f.ar_coeff_lag,
-                 __print_array(__entry->f.ar_coeffs_y_plus_128,
-                               ARRAY_SIZE(__entry->f.ar_coeffs_y_plus_128),
-                               sizeof(__entry->f.ar_coeffs_y_plus_128[0])),
-                 __print_array(__entry->f.ar_coeffs_cb_plus_128,
-                               ARRAY_SIZE(__entry->f.ar_coeffs_cb_plus_128),
-                               sizeof(__entry->f.ar_coeffs_cb_plus_128[0])),
-                 __print_array(__entry->f.ar_coeffs_cr_plus_128,
-                               ARRAY_SIZE(__entry->f.ar_coeffs_cr_plus_128),
-                               sizeof(__entry->f.ar_coeffs_cr_plus_128[0])),
-                 __entry->f.ar_coeff_shift_minus_6,
-                 __entry->f.grain_scale_shift,
-                 __entry->f.cb_mult,
-                 __entry->f.cb_luma_mult,
-                 __entry->f.cr_luma_mult,
-                 __entry->f.cb_offset,
-                 __entry->f.cr_offset
+                 __entry->cr_mult,
+                 __entry->grain_seed,
+                 __entry->film_grain_params_ref_idx,
+                 __entry->num_y_points,
+                 __print_array(__entry->point_y_value,
+                               ARRAY_SIZE(__entry->point_y_value),
+                               sizeof(__entry->point_y_value[0])),
+                 __print_array(__entry->point_y_scaling,
+                               ARRAY_SIZE(__entry->point_y_scaling),
+                               sizeof(__entry->point_y_scaling[0])),
+                 __entry->num_cb_points,
+                 __print_array(__entry->point_cb_value,
+                               ARRAY_SIZE(__entry->point_cb_value),
+                               sizeof(__entry->point_cb_value[0])),
+                 __print_array(__entry->point_cb_scaling,
+                               ARRAY_SIZE(__entry->point_cb_scaling),
+                               sizeof(__entry->point_cb_scaling[0])),
+                 __entry->num_cr_points,
+                 __print_array(__entry->point_cr_value,
+                               ARRAY_SIZE(__entry->point_cr_value),
+                               sizeof(__entry->point_cr_value[0])),
+                 __print_array(__entry->point_cr_scaling,
+                               ARRAY_SIZE(__entry->point_cr_scaling),
+                               sizeof(__entry->point_cr_scaling[0])),
+                 __entry->grain_scaling_minus_8,
+                 __entry->ar_coeff_lag,
+                 __print_array(__entry->ar_coeffs_y_plus_128,
+                               ARRAY_SIZE(__entry->ar_coeffs_y_plus_128),
+                               sizeof(__entry->ar_coeffs_y_plus_128[0])),
+                 __print_array(__entry->ar_coeffs_cb_plus_128,
+                               ARRAY_SIZE(__entry->ar_coeffs_cb_plus_128),
+                               sizeof(__entry->ar_coeffs_cb_plus_128[0])),
+                 __print_array(__entry->ar_coeffs_cr_plus_128,
+                               ARRAY_SIZE(__entry->ar_coeffs_cr_plus_128),
+                               sizeof(__entry->ar_coeffs_cr_plus_128[0])),
+                 __entry->ar_coeff_shift_minus_6,
+                 __entry->grain_scale_shift,
+                 __entry->cb_mult,
+                 __entry->cb_luma_mult,
+                 __entry->cr_luma_mult,
+                 __entry->cb_offset,
+                 __entry->cr_offset
        )
 )
 
@@ -333,7 +553,8 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_fwht_params_tmpl,
                       __entry->ycbcr_enc = p->ycbcr_enc;
                       __entry->quantization = p->quantization;
                       ),
-       TP_printk("backward_ref_ts %llu version %u width %u height %u flags %s 
colorspace %u xfer_func %u ycbcr_enc %u quantization %u",
+       TP_printk("backward_ref_ts %llu version %u width %u height %u flags %s 
colorspace %u "
+                 "xfer_func %u ycbcr_enc %u quantization %u",
                  __entry->backward_ref_ts, __entry->version, __entry->width, 
__entry->height,
                  __print_flags(__entry->flags, "|",
                  {V4L2_FWHT_FL_IS_INTERLACED, "IS_INTERLACED"},
@@ -362,8 +583,45 @@ DEFINE_EVENT(v4l2_ctrl_fwht_params_tmpl, 
v4l2_ctrl_fwht_params,
 DECLARE_EVENT_CLASS(v4l2_ctrl_h264_sps_tmpl,
        TP_PROTO(const struct v4l2_ctrl_h264_sps *s),
        TP_ARGS(s),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_sps, s)),
-       TP_fast_assign(__entry->s = *s),
+       TP_STRUCT__entry(__field(u8, profile_idc)
+                        __field(u8, constraint_set_flags)
+                        __field(u8, level_idc)
+                        __field(u8, seq_parameter_set_id)
+                        __field(u8, chroma_format_idc)
+                        __field(u8, bit_depth_luma_minus8)
+                        __field(u8, bit_depth_chroma_minus8)
+                        __field(u8, log2_max_frame_num_minus4)
+                        __field(u8, pic_order_cnt_type)
+                        __field(u8, log2_max_pic_order_cnt_lsb_minus4)
+                        __field(u8, max_num_ref_frames)
+                        __field(u8, num_ref_frames_in_pic_order_cnt_cycle)
+                        __array(__s32, offset_for_ref_frame, 255)
+                        __field(__s32, offset_for_non_ref_pic)
+                        __field(__s32, offset_for_top_to_bottom_field)
+                        __field(u16, pic_width_in_mbs_minus1)
+                        __field(u16, pic_height_in_map_units_minus1)
+                        __field(u32, flags)),
+       TP_fast_assign(__entry->profile_idc = s->profile_idc;
+                      __entry->constraint_set_flags = s->constraint_set_flags;
+                      __entry->level_idc = s->level_idc;
+                      __entry->seq_parameter_set_id = s->seq_parameter_set_id;
+                      __entry->chroma_format_idc = s->chroma_format_idc;
+                      __entry->bit_depth_luma_minus8 = 
s->bit_depth_luma_minus8;
+                      __entry->bit_depth_chroma_minus8 = 
s->bit_depth_chroma_minus8;
+                      __entry->log2_max_frame_num_minus4 = 
s->log2_max_frame_num_minus4;
+                      __entry->pic_order_cnt_type = s->pic_order_cnt_type;
+                      __entry->log2_max_pic_order_cnt_lsb_minus4 =
+                               s->log2_max_pic_order_cnt_lsb_minus4;
+                      __entry->max_num_ref_frames = s->max_num_ref_frames;
+                      __entry->num_ref_frames_in_pic_order_cnt_cycle =
+                               s->num_ref_frames_in_pic_order_cnt_cycle;
+                      memcpy(__entry->offset_for_ref_frame, 
s->offset_for_ref_frame,
+                             sizeof(__entry->offset_for_ref_frame));
+                      __entry->offset_for_non_ref_pic = 
s->offset_for_non_ref_pic;
+                      __entry->offset_for_top_to_bottom_field = 
s->offset_for_top_to_bottom_field;
+                      __entry->pic_width_in_mbs_minus1 = 
s->pic_width_in_mbs_minus1;
+                      __entry->pic_height_in_map_units_minus1 = 
s->pic_height_in_map_units_minus1;
+                      __entry->flags = s->flags),
        TP_printk("\nprofile_idc %u\n"
                  "constraint_set_flags %s\n"
                  "level_idc %u\n"
@@ -382,36 +640,38 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_sps_tmpl,
                  "pic_width_in_mbs_minus1 %u\n"
                  "pic_height_in_map_units_minus1 %u\n"
                  "flags %s",
-                 __entry->s.profile_idc,
-                 __print_flags(__entry->s.constraint_set_flags, "|",
+                 __entry->profile_idc,
+                 __print_flags(__entry->constraint_set_flags, "|",
                  {V4L2_H264_SPS_CONSTRAINT_SET0_FLAG, "CONSTRAINT_SET0_FLAG"},
                  {V4L2_H264_SPS_CONSTRAINT_SET1_FLAG, "CONSTRAINT_SET1_FLAG"},
                  {V4L2_H264_SPS_CONSTRAINT_SET2_FLAG, "CONSTRAINT_SET2_FLAG"},
                  {V4L2_H264_SPS_CONSTRAINT_SET3_FLAG, "CONSTRAINT_SET3_FLAG"},
                  {V4L2_H264_SPS_CONSTRAINT_SET4_FLAG, "CONSTRAINT_SET4_FLAG"},
                  {V4L2_H264_SPS_CONSTRAINT_SET5_FLAG, "CONSTRAINT_SET5_FLAG"}),
-                 __entry->s.level_idc,
-                 __entry->s.seq_parameter_set_id,
-                 __entry->s.chroma_format_idc,
-                 __entry->s.bit_depth_luma_minus8,
-                 __entry->s.bit_depth_chroma_minus8,
-                 __entry->s.log2_max_frame_num_minus4,
-                 __entry->s.pic_order_cnt_type,
-                 __entry->s.log2_max_pic_order_cnt_lsb_minus4,
-                 __entry->s.max_num_ref_frames,
-                 __entry->s.num_ref_frames_in_pic_order_cnt_cycle,
-                 __print_array(__entry->s.offset_for_ref_frame,
-                               ARRAY_SIZE(__entry->s.offset_for_ref_frame),
-                               sizeof(__entry->s.offset_for_ref_frame[0])),
-                 __entry->s.offset_for_non_ref_pic,
-                 __entry->s.offset_for_top_to_bottom_field,
-                 __entry->s.pic_width_in_mbs_minus1,
-                 __entry->s.pic_height_in_map_units_minus1,
-                 __print_flags(__entry->s.flags, "|",
+                 __entry->level_idc,
+                 __entry->seq_parameter_set_id,
+                 __entry->chroma_format_idc,
+                 __entry->bit_depth_luma_minus8,
+                 __entry->bit_depth_chroma_minus8,
+                 __entry->log2_max_frame_num_minus4,
+                 __entry->pic_order_cnt_type,
+                 __entry->log2_max_pic_order_cnt_lsb_minus4,
+                 __entry->max_num_ref_frames,
+                 __entry->num_ref_frames_in_pic_order_cnt_cycle,
+                 __print_array(__entry->offset_for_ref_frame,
+                               ARRAY_SIZE(__entry->offset_for_ref_frame),
+                               sizeof(__entry->offset_for_ref_frame[0])),
+                 __entry->offset_for_non_ref_pic,
+                 __entry->offset_for_top_to_bottom_field,
+                 __entry->pic_width_in_mbs_minus1,
+                 __entry->pic_height_in_map_units_minus1,
+                 __print_flags(__entry->flags, "|",
                  {V4L2_H264_SPS_FLAG_SEPARATE_COLOUR_PLANE, 
"SEPARATE_COLOUR_PLANE"},
-                 {V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS, 
"QPPRIME_Y_ZERO_TRANSFORM_BYPASS"},
+                 {V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS,
+                  "QPPRIME_Y_ZERO_TRANSFORM_BYPASS"},
                  {V4L2_H264_SPS_FLAG_DELTA_PIC_ORDER_ALWAYS_ZERO, 
"DELTA_PIC_ORDER_ALWAYS_ZERO"},
-                 {V4L2_H264_SPS_FLAG_GAPS_IN_FRAME_NUM_VALUE_ALLOWED, 
"GAPS_IN_FRAME_NUM_VALUE_ALLOWED"},
+                 {V4L2_H264_SPS_FLAG_GAPS_IN_FRAME_NUM_VALUE_ALLOWED,
+                  "GAPS_IN_FRAME_NUM_VALUE_ALLOWED"},
                  {V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY, "FRAME_MBS_ONLY"},
                  {V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD, 
"MB_ADAPTIVE_FRAME_FIELD"},
                  {V4L2_H264_SPS_FLAG_DIRECT_8X8_INFERENCE, 
"DIRECT_8X8_INFERENCE"}
@@ -421,8 +681,30 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_sps_tmpl,
 DECLARE_EVENT_CLASS(v4l2_ctrl_h264_pps_tmpl,
        TP_PROTO(const struct v4l2_ctrl_h264_pps *p),
        TP_ARGS(p),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_pps, p)),
-       TP_fast_assign(__entry->p = *p),
+       TP_STRUCT__entry(__field(u8, pic_parameter_set_id)
+                        __field(u8, seq_parameter_set_id)
+                        __field(u8, num_slice_groups_minus1)
+                        __field(u8, num_ref_idx_l0_default_active_minus1)
+                        __field(u8, num_ref_idx_l1_default_active_minus1)
+                        __field(u8, weighted_bipred_idc)
+                        __field(__s8, pic_init_qp_minus26)
+                        __field(__s8, pic_init_qs_minus26)
+                        __field(__s8, chroma_qp_index_offset)
+                        __field(__s8, second_chroma_qp_index_offset)
+                        __field(u16, flags)),
+       TP_fast_assign(__entry->pic_parameter_set_id = p->pic_parameter_set_id;
+                      __entry->seq_parameter_set_id = p->seq_parameter_set_id;
+                      __entry->num_slice_groups_minus1 = 
p->num_slice_groups_minus1;
+                      __entry->num_ref_idx_l0_default_active_minus1 =
+                               p->num_ref_idx_l0_default_active_minus1;
+                      __entry->num_ref_idx_l1_default_active_minus1 =
+                               p->num_ref_idx_l1_default_active_minus1;
+                      __entry->weighted_bipred_idc = p->weighted_bipred_idc;
+                      __entry->pic_init_qp_minus26 = p->pic_init_qp_minus26;
+                      __entry->pic_init_qs_minus26 = p->pic_init_qs_minus26;
+                      __entry->chroma_qp_index_offset = 
p->chroma_qp_index_offset;
+                      __entry->second_chroma_qp_index_offset = 
p->second_chroma_qp_index_offset;
+                      __entry->flags = p->flags),
        TP_printk("\npic_parameter_set_id %u\n"
                  "seq_parameter_set_id %u\n"
                  "num_slice_groups_minus1 %u\n"
@@ -434,21 +716,23 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_pps_tmpl,
                  "chroma_qp_index_offset %d\n"
                  "second_chroma_qp_index_offset %d\n"
                  "flags %s",
-                 __entry->p.pic_parameter_set_id,
-                 __entry->p.seq_parameter_set_id,
-                 __entry->p.num_slice_groups_minus1,
-                 __entry->p.num_ref_idx_l0_default_active_minus1,
-                 __entry->p.num_ref_idx_l1_default_active_minus1,
-                 __entry->p.weighted_bipred_idc,
-                 __entry->p.pic_init_qp_minus26,
-                 __entry->p.pic_init_qs_minus26,
-                 __entry->p.chroma_qp_index_offset,
-                 __entry->p.second_chroma_qp_index_offset,
-                 __print_flags(__entry->p.flags, "|",
+                 __entry->pic_parameter_set_id,
+                 __entry->seq_parameter_set_id,
+                 __entry->num_slice_groups_minus1,
+                 __entry->num_ref_idx_l0_default_active_minus1,
+                 __entry->num_ref_idx_l1_default_active_minus1,
+                 __entry->weighted_bipred_idc,
+                 __entry->pic_init_qp_minus26,
+                 __entry->pic_init_qs_minus26,
+                 __entry->chroma_qp_index_offset,
+                 __entry->second_chroma_qp_index_offset,
+                 __print_flags(__entry->flags, "|",
                  {V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE, 
"ENTROPY_CODING_MODE"},
-                 {V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT, 
"BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT"},
+                 {V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT,
+                  "BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT"},
                  {V4L2_H264_PPS_FLAG_WEIGHTED_PRED, "WEIGHTED_PRED"},
-                 {V4L2_H264_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT, 
"DEBLOCKING_FILTER_CONTROL_PRESENT"},
+                 {V4L2_H264_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT,
+                  "DEBLOCKING_FILTER_CONTROL_PRESENT"},
                  {V4L2_H264_PPS_FLAG_CONSTRAINED_INTRA_PRED, 
"CONSTRAINED_INTRA_PRED"},
                  {V4L2_H264_PPS_FLAG_REDUNDANT_PIC_CNT_PRESENT, 
"REDUNDANT_PIC_CNT_PRESENT"},
                  {V4L2_H264_PPS_FLAG_TRANSFORM_8X8_MODE, "TRANSFORM_8X8_MODE"},
@@ -459,16 +743,20 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_pps_tmpl,
 DECLARE_EVENT_CLASS(v4l2_ctrl_h264_scaling_matrix_tmpl,
        TP_PROTO(const struct v4l2_ctrl_h264_scaling_matrix *s),
        TP_ARGS(s),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_scaling_matrix, 
s)),
-       TP_fast_assign(__entry->s = *s),
+       TP_STRUCT__entry(__array(u8, scaling_list_4x4, 6 * 16)
+                        __array(u8, scaling_list_8x8, 6 * 64)),
+       TP_fast_assign(memcpy(__entry->scaling_list_4x4, s->scaling_list_4x4,
+                             sizeof(__entry->scaling_list_4x4));
+                      memcpy(__entry->scaling_list_8x8, s->scaling_list_8x8,
+                             sizeof(__entry->scaling_list_8x8))),
        TP_printk("\nscaling_list_4x4 {%s}\nscaling_list_8x8 {%s}",
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->s.scaling_list_4x4,
-                                  sizeof(__entry->s.scaling_list_4x4),
+                                  __entry->scaling_list_4x4,
+                                  sizeof(__entry->scaling_list_4x4),
                                   false),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->s.scaling_list_8x8,
-                                  sizeof(__entry->s.scaling_list_8x8),
+                                  __entry->scaling_list_8x8,
+                                  sizeof(__entry->scaling_list_8x8),
                                   false)
        )
 );
@@ -476,8 +764,42 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_scaling_matrix_tmpl,
 DECLARE_EVENT_CLASS(v4l2_ctrl_h264_pred_weights_tmpl,
        TP_PROTO(const struct v4l2_ctrl_h264_pred_weights *p),
        TP_ARGS(p),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_pred_weights, p)),
-       TP_fast_assign(__entry->p = *p),
+       TP_STRUCT__entry(__field(u16, luma_log2_weight_denom)
+                        __field(u16, chroma_log2_weight_denom)
+                        __array(__s16, weight_factors_0_luma_weight, 32)
+                        __array(__s16, weight_factors_0_luma_offset, 32)
+                        __array(__s16, weight_factors_0_chroma_weight, 32 * 2)
+                        __array(__s16, weight_factors_0_chroma_offset, 32 * 2)
+                        __array(__s16, weight_factors_1_luma_weight, 32)
+                        __array(__s16, weight_factors_1_luma_offset, 32)
+                        __array(__s16, weight_factors_1_chroma_weight, 32 * 2)
+                        __array(__s16, weight_factors_1_chroma_offset, 32 * 
2)),
+       TP_fast_assign(__entry->luma_log2_weight_denom = 
p->luma_log2_weight_denom;
+                      __entry->chroma_log2_weight_denom = 
p->chroma_log2_weight_denom;
+                      memcpy(__entry->weight_factors_0_luma_weight,
+                             p->weight_factors[0].luma_weight,
+                             sizeof(__entry->weight_factors_0_luma_weight));
+                      memcpy(__entry->weight_factors_0_luma_offset,
+                             p->weight_factors[0].luma_offset,
+                             sizeof(__entry->weight_factors_0_luma_offset));
+                      memcpy(__entry->weight_factors_0_chroma_weight,
+                             p->weight_factors[0].chroma_weight,
+                             sizeof(__entry->weight_factors_0_chroma_weight));
+                      memcpy(__entry->weight_factors_0_chroma_offset,
+                             p->weight_factors[0].chroma_offset,
+                             sizeof(__entry->weight_factors_0_chroma_offset));
+                      memcpy(__entry->weight_factors_1_luma_weight,
+                             p->weight_factors[1].luma_weight,
+                             sizeof(__entry->weight_factors_1_luma_weight));
+                      memcpy(__entry->weight_factors_1_luma_offset,
+                             p->weight_factors[1].luma_offset,
+                             sizeof(__entry->weight_factors_1_luma_offset));
+                      memcpy(__entry->weight_factors_1_chroma_weight,
+                             p->weight_factors[1].chroma_weight,
+                             sizeof(__entry->weight_factors_1_chroma_weight));
+                      memcpy(__entry->weight_factors_1_chroma_offset,
+                             p->weight_factors[1].chroma_offset,
+                             sizeof(__entry->weight_factors_1_chroma_offset))),
        TP_printk("\nluma_log2_weight_denom %u\n"
                  "chroma_log2_weight_denom %u\n"
                  "weight_factor[0].luma_weight %s\n"
@@ -488,35 +810,35 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_pred_weights_tmpl,
                  "weight_factor[1].luma_offset %s\n"
                  "weight_factor[1].chroma_weight {%s}\n"
                  "weight_factor[1].chroma_offset {%s}\n",
-                 __entry->p.luma_log2_weight_denom,
-                 __entry->p.chroma_log2_weight_denom,
-                 __print_array(__entry->p.weight_factors[0].luma_weight,
-                               
ARRAY_SIZE(__entry->p.weight_factors[0].luma_weight),
-                               
sizeof(__entry->p.weight_factors[0].luma_weight[0])),
-                 __print_array(__entry->p.weight_factors[0].luma_offset,
-                               
ARRAY_SIZE(__entry->p.weight_factors[0].luma_offset),
-                               
sizeof(__entry->p.weight_factors[0].luma_offset[0])),
+                 __entry->luma_log2_weight_denom,
+                 __entry->chroma_log2_weight_denom,
+                 __print_array(__entry->weight_factors_0_luma_weight,
+                               
ARRAY_SIZE(__entry->weight_factors_0_luma_weight),
+                               
sizeof(__entry->weight_factors_0_luma_weight[0])),
+                 __print_array(__entry->weight_factors_0_luma_offset,
+                               
ARRAY_SIZE(__entry->weight_factors_0_luma_offset),
+                               
sizeof(__entry->weight_factors_0_luma_offset[0])),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->p.weight_factors[0].chroma_weight,
-                                  
sizeof(__entry->p.weight_factors[0].chroma_weight),
+                                  __entry->weight_factors_0_chroma_weight,
+                                  
sizeof(__entry->weight_factors_0_chroma_weight),
                                   false),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->p.weight_factors[0].chroma_offset,
-                                  
sizeof(__entry->p.weight_factors[0].chroma_offset),
+                                  __entry->weight_factors_0_chroma_offset,
+                                  
sizeof(__entry->weight_factors_0_chroma_offset),
                                   false),
-                 __print_array(__entry->p.weight_factors[1].luma_weight,
-                               
ARRAY_SIZE(__entry->p.weight_factors[1].luma_weight),
-                               
sizeof(__entry->p.weight_factors[1].luma_weight[0])),
-                 __print_array(__entry->p.weight_factors[1].luma_offset,
-                               
ARRAY_SIZE(__entry->p.weight_factors[1].luma_offset),
-                               
sizeof(__entry->p.weight_factors[1].luma_offset[0])),
+                 __print_array(__entry->weight_factors_1_luma_weight,
+                               
ARRAY_SIZE(__entry->weight_factors_1_luma_weight),
+                               
sizeof(__entry->weight_factors_1_luma_weight[0])),
+                 __print_array(__entry->weight_factors_1_luma_offset,
+                               
ARRAY_SIZE(__entry->weight_factors_1_luma_offset),
+                               
sizeof(__entry->weight_factors_1_luma_offset[0])),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->p.weight_factors[1].chroma_weight,
-                                  
sizeof(__entry->p.weight_factors[1].chroma_weight),
+                                  __entry->weight_factors_1_chroma_weight,
+                                  
sizeof(__entry->weight_factors_1_chroma_weight),
                                   false),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->p.weight_factors[1].chroma_offset,
-                                  
sizeof(__entry->p.weight_factors[1].chroma_offset),
+                                  __entry->weight_factors_1_chroma_offset,
+                                  
sizeof(__entry->weight_factors_1_chroma_offset),
                                   false)
        )
 );
@@ -524,8 +846,34 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_pred_weights_tmpl,
 DECLARE_EVENT_CLASS(v4l2_ctrl_h264_slice_params_tmpl,
        TP_PROTO(const struct v4l2_ctrl_h264_slice_params *s),
        TP_ARGS(s),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_slice_params, s)),
-       TP_fast_assign(__entry->s = *s),
+       TP_STRUCT__entry(__field(u32, header_bit_size)
+                        __field(u32, first_mb_in_slice)
+                        __field(u8, slice_type)
+                        __field(u8, colour_plane_id)
+                        __field(u8, redundant_pic_cnt)
+                        __field(u8, cabac_init_idc)
+                        __field(__s8, slice_qp_delta)
+                        __field(__s8, slice_qs_delta)
+                        __field(u8, disable_deblocking_filter_idc)
+                        __field(__s8, slice_alpha_c0_offset_div2)
+                        __field(__s8, slice_beta_offset_div2)
+                        __field(u8, num_ref_idx_l0_active_minus1)
+                        __field(u8, num_ref_idx_l1_active_minus1)
+                        __field(u32, flags)),
+       TP_fast_assign(__entry->header_bit_size = s->header_bit_size;
+                      __entry->first_mb_in_slice = s->first_mb_in_slice;
+                      __entry->slice_type = s->slice_type;
+                      __entry->colour_plane_id = s->colour_plane_id;
+                      __entry->redundant_pic_cnt = s->redundant_pic_cnt;
+                      __entry->cabac_init_idc = s->cabac_init_idc;
+                      __entry->slice_qp_delta = s->slice_qp_delta;
+                      __entry->slice_qs_delta = s->slice_qs_delta;
+                      __entry->disable_deblocking_filter_idc = 
s->disable_deblocking_filter_idc;
+                      __entry->slice_alpha_c0_offset_div2 = 
s->slice_alpha_c0_offset_div2;
+                      __entry->slice_beta_offset_div2 = 
s->slice_beta_offset_div2;
+                      __entry->num_ref_idx_l0_active_minus1 = 
s->num_ref_idx_l0_active_minus1;
+                      __entry->num_ref_idx_l1_active_minus1 = 
s->num_ref_idx_l1_active_minus1;
+                      __entry->flags = s->flags),
        TP_printk("\nheader_bit_size %u\n"
                  "first_mb_in_slice %u\n"
                  "slice_type %s\n"
@@ -540,25 +888,25 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_slice_params_tmpl,
                  "num_ref_idx_l0_active_minus1 %u\n"
                  "num_ref_idx_l1_active_minus1 %u\n"
                  "flags %s",
-                 __entry->s.header_bit_size,
-                 __entry->s.first_mb_in_slice,
-                 __print_symbolic(__entry->s.slice_type,
+                 __entry->header_bit_size,
+                 __entry->first_mb_in_slice,
+                 __print_symbolic(__entry->slice_type,
                  {V4L2_H264_SLICE_TYPE_P, "P"},
                  {V4L2_H264_SLICE_TYPE_B, "B"},
                  {V4L2_H264_SLICE_TYPE_I, "I"},
                  {V4L2_H264_SLICE_TYPE_SP, "SP"},
                  {V4L2_H264_SLICE_TYPE_SI, "SI"}),
-                 __entry->s.colour_plane_id,
-                 __entry->s.redundant_pic_cnt,
-                 __entry->s.cabac_init_idc,
-                 __entry->s.slice_qp_delta,
-                 __entry->s.slice_qs_delta,
-                 __entry->s.disable_deblocking_filter_idc,
-                 __entry->s.slice_alpha_c0_offset_div2,
-                 __entry->s.slice_beta_offset_div2,
-                 __entry->s.num_ref_idx_l0_active_minus1,
-                 __entry->s.num_ref_idx_l1_active_minus1,
-                 __print_flags(__entry->s.flags, "|",
+                 __entry->colour_plane_id,
+                 __entry->redundant_pic_cnt,
+                 __entry->cabac_init_idc,
+                 __entry->slice_qp_delta,
+                 __entry->slice_qs_delta,
+                 __entry->disable_deblocking_filter_idc,
+                 __entry->slice_alpha_c0_offset_div2,
+                 __entry->slice_beta_offset_div2,
+                 __entry->num_ref_idx_l0_active_minus1,
+                 __entry->num_ref_idx_l1_active_minus1,
+                 __print_flags(__entry->flags, "|",
                  {V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED, 
"DIRECT_SPATIAL_MV_PRED"},
                  {V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH, "SP_FOR_SWITCH"})
        )
@@ -567,24 +915,51 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_slice_params_tmpl,
 DECLARE_EVENT_CLASS(v4l2_h264_reference_tmpl,
        TP_PROTO(const struct v4l2_h264_reference *r, int i),
        TP_ARGS(r, i),
-       TP_STRUCT__entry(__field_struct(struct v4l2_h264_reference, r)
+       TP_STRUCT__entry(__field(u8, fields)
+                        __field(u8, index)
                         __field(int, i)),
-       TP_fast_assign(__entry->r = *r; __entry->i = i;),
+       TP_fast_assign(__entry->fields = r->fields;
+                      __entry->index = r->index;
+                      __entry->i = i;),
        TP_printk("[%d]: fields %s index %u",
                  __entry->i,
-                 __print_flags(__entry->r.fields, "|",
+                 __print_flags(__entry->fields, "|",
                  {V4L2_H264_TOP_FIELD_REF, "TOP_FIELD_REF"},
                  {V4L2_H264_BOTTOM_FIELD_REF, "BOTTOM_FIELD_REF"},
                  {V4L2_H264_FRAME_REF, "FRAME_REF"}),
-                 __entry->r.index
+                 __entry->index
        )
 );
 
 DECLARE_EVENT_CLASS(v4l2_ctrl_h264_decode_params_tmpl,
        TP_PROTO(const struct v4l2_ctrl_h264_decode_params *d),
        TP_ARGS(d),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_h264_decode_params, 
d)),
-       TP_fast_assign(__entry->d = *d),
+       TP_STRUCT__entry(__field(u16, nal_ref_idc)
+                        __field(u16, frame_num)
+                        __field(__s32, top_field_order_cnt)
+                        __field(__s32, bottom_field_order_cnt)
+                        __field(u16, idr_pic_id)
+                        __field(u16, pic_order_cnt_lsb)
+                        __field(__s32, delta_pic_order_cnt_bottom)
+                        __field(__s32, delta_pic_order_cnt0)
+                        __field(__s32, delta_pic_order_cnt1)
+                        __field(u32, dec_ref_pic_marking_bit_size)
+                        __field(u32, pic_order_cnt_bit_size)
+                        __field(u32, slice_group_change_cycle)
+                        __field(u32, flags)),
+       TP_fast_assign(__entry->nal_ref_idc = d->nal_ref_idc;
+                      __entry->frame_num = d->frame_num;
+                      __entry->top_field_order_cnt = d->top_field_order_cnt;
+                      __entry->bottom_field_order_cnt = 
d->bottom_field_order_cnt;
+                      __entry->idr_pic_id = d->idr_pic_id;
+                      __entry->pic_order_cnt_lsb = d->pic_order_cnt_lsb;
+                      __entry->delta_pic_order_cnt_bottom = 
d->delta_pic_order_cnt_bottom;
+                      __entry->delta_pic_order_cnt0 = d->delta_pic_order_cnt0;
+                      __entry->delta_pic_order_cnt1 = d->delta_pic_order_cnt1;
+                      __entry->dec_ref_pic_marking_bit_size = 
d->dec_ref_pic_marking_bit_size;
+                      __entry->pic_order_cnt_bit_size = 
d->pic_order_cnt_bit_size;
+                      __entry->slice_group_change_cycle = 
d->slice_group_change_cycle;
+                      __entry->flags = d->flags),
        TP_printk("\nnal_ref_idc %u\n"
                  "frame_num %u\n"
                  "top_field_order_cnt %d\n"
@@ -598,19 +973,19 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_decode_params_tmpl,
                  "pic_order_cnt_bit_size %u\n"
                  "slice_group_change_cycle %u\n"
                  "flags %s\n",
-                 __entry->d.nal_ref_idc,
-                 __entry->d.frame_num,
-                 __entry->d.top_field_order_cnt,
-                 __entry->d.bottom_field_order_cnt,
-                 __entry->d.idr_pic_id,
-                 __entry->d.pic_order_cnt_lsb,
-                 __entry->d.delta_pic_order_cnt_bottom,
-                 __entry->d.delta_pic_order_cnt0,
-                 __entry->d.delta_pic_order_cnt1,
-                 __entry->d.dec_ref_pic_marking_bit_size,
-                 __entry->d.pic_order_cnt_bit_size,
-                 __entry->d.slice_group_change_cycle,
-                 __print_flags(__entry->d.flags, "|",
+                 __entry->nal_ref_idc,
+                 __entry->frame_num,
+                 __entry->top_field_order_cnt,
+                 __entry->bottom_field_order_cnt,
+                 __entry->idr_pic_id,
+                 __entry->pic_order_cnt_lsb,
+                 __entry->delta_pic_order_cnt_bottom,
+                 __entry->delta_pic_order_cnt0,
+                 __entry->delta_pic_order_cnt1,
+                 __entry->dec_ref_pic_marking_bit_size,
+                 __entry->pic_order_cnt_bit_size,
+                 __entry->slice_group_change_cycle,
+                 __print_flags(__entry->flags, "|",
                  {V4L2_H264_DECODE_PARAM_FLAG_IDR_PIC, "IDR_PIC"},
                  {V4L2_H264_DECODE_PARAM_FLAG_FIELD_PIC, "FIELD_PIC"},
                  {V4L2_H264_DECODE_PARAM_FLAG_BOTTOM_FIELD, "BOTTOM_FIELD"},
@@ -622,22 +997,35 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_decode_params_tmpl,
 DECLARE_EVENT_CLASS(v4l2_h264_dpb_entry_tmpl,
        TP_PROTO(const struct v4l2_h264_dpb_entry *e, int i),
        TP_ARGS(e, i),
-       TP_STRUCT__entry(__field_struct(struct v4l2_h264_dpb_entry, e)
+       TP_STRUCT__entry(__field(u64, reference_ts)
+                        __field(u32, pic_num)
+                        __field(u16, frame_num)
+                        __field(u8, fields)
+                        __field(__s32, top_field_order_cnt)
+                        __field(__s32, bottom_field_order_cnt)
+                        __field(u32, flags)
                         __field(int, i)),
-       TP_fast_assign(__entry->e = *e; __entry->i = i;),
+       TP_fast_assign(__entry->reference_ts = e->reference_ts;
+                      __entry->pic_num = e->pic_num;
+                      __entry->frame_num = e->frame_num;
+                      __entry->fields = e->fields;
+                      __entry->top_field_order_cnt = e->top_field_order_cnt;
+                      __entry->bottom_field_order_cnt = 
e->bottom_field_order_cnt;
+                      __entry->flags = e->flags;
+                      __entry->i = i;),
        TP_printk("[%d]: reference_ts %llu, pic_num %u frame_num %u fields %s "
                  "top_field_order_cnt %d bottom_field_order_cnt %d flags %s",
                  __entry->i,
-                 __entry->e.reference_ts,
-                 __entry->e.pic_num,
-                 __entry->e.frame_num,
-                 __print_flags(__entry->e.fields, "|",
+                 __entry->reference_ts,
+                 __entry->pic_num,
+                 __entry->frame_num,
+                 __print_flags(__entry->fields, "|",
                  {V4L2_H264_TOP_FIELD_REF, "TOP_FIELD_REF"},
                  {V4L2_H264_BOTTOM_FIELD_REF, "BOTTOM_FIELD_REF"},
                  {V4L2_H264_FRAME_REF, "FRAME_REF"}),
-                 __entry->e.top_field_order_cnt,
-                 __entry->e.bottom_field_order_cnt,
-                 __print_flags(__entry->e.flags, "|",
+                 __entry->top_field_order_cnt,
+                 __entry->bottom_field_order_cnt,
+                 __print_flags(__entry->flags, "|",
                  {V4L2_H264_DPB_ENTRY_FLAG_VALID, "VALID"},
                  {V4L2_H264_DPB_ENTRY_FLAG_ACTIVE, "ACTIVE"},
                  {V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM, "LONG_TERM"},
@@ -696,8 +1084,68 @@ DEFINE_EVENT(v4l2_h264_dpb_entry_tmpl, 
v4l2_h264_dpb_entry,
 DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_sps_tmpl,
        TP_PROTO(const struct v4l2_ctrl_hevc_sps *s),
        TP_ARGS(s),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_hevc_sps, s)),
-       TP_fast_assign(__entry->s = *s),
+       TP_STRUCT__entry(__field(__u8, video_parameter_set_id)
+                        __field(__u8, seq_parameter_set_id)
+                        __field(__u16, pic_width_in_luma_samples)
+                        __field(__u16, pic_height_in_luma_samples)
+                        __field(__u8, bit_depth_luma_minus8)
+                        __field(__u8, bit_depth_chroma_minus8)
+                        __field(__u8, log2_max_pic_order_cnt_lsb_minus4)
+                        __field(__u8, sps_max_dec_pic_buffering_minus1)
+                        __field(__u8, sps_max_num_reorder_pics)
+                        __field(__u8, sps_max_latency_increase_plus1)
+                        __field(__u8, log2_min_luma_coding_block_size_minus3)
+                        __field(__u8, log2_diff_max_min_luma_coding_block_size)
+                        __field(__u8, 
log2_min_luma_transform_block_size_minus2)
+                        __field(__u8, 
log2_diff_max_min_luma_transform_block_size)
+                        __field(__u8, max_transform_hierarchy_depth_inter)
+                        __field(__u8, max_transform_hierarchy_depth_intra)
+                        __field(__u8, pcm_sample_bit_depth_luma_minus1)
+                        __field(__u8, pcm_sample_bit_depth_chroma_minus1)
+                        __field(__u8, 
log2_min_pcm_luma_coding_block_size_minus3)
+                        __field(__u8, 
log2_diff_max_min_pcm_luma_coding_block_size)
+                        __field(__u8, num_short_term_ref_pic_sets)
+                        __field(__u8, num_long_term_ref_pics_sps)
+                        __field(__u8, chroma_format_idc)
+                        __field(__u8, sps_max_sub_layers_minus1)
+                        __field(__u64, flags)),
+       TP_fast_assign(__entry->video_parameter_set_id = 
s->video_parameter_set_id;
+                      __entry->seq_parameter_set_id = s->seq_parameter_set_id;
+                      __entry->pic_width_in_luma_samples = 
s->pic_width_in_luma_samples;
+                      __entry->pic_height_in_luma_samples = 
s->pic_height_in_luma_samples;
+                      __entry->bit_depth_luma_minus8 = 
s->bit_depth_luma_minus8;
+                      __entry->bit_depth_chroma_minus8 = 
s->bit_depth_chroma_minus8;
+                      __entry->log2_max_pic_order_cnt_lsb_minus4 =
+                               s->log2_max_pic_order_cnt_lsb_minus4;
+                      __entry->sps_max_dec_pic_buffering_minus1 =
+                               s->sps_max_dec_pic_buffering_minus1;
+                      __entry->sps_max_num_reorder_pics = 
s->sps_max_num_reorder_pics;
+                      __entry->sps_max_latency_increase_plus1 = 
s->sps_max_latency_increase_plus1;
+                      __entry->log2_min_luma_coding_block_size_minus3 =
+                               s->log2_min_luma_coding_block_size_minus3;
+                      __entry->log2_diff_max_min_luma_coding_block_size =
+                               s->log2_diff_max_min_luma_coding_block_size;
+                      __entry->log2_min_luma_transform_block_size_minus2 =
+                               s->log2_min_luma_transform_block_size_minus2;
+                      __entry->log2_diff_max_min_luma_transform_block_size =
+                               s->log2_diff_max_min_luma_transform_block_size;
+                      __entry->max_transform_hierarchy_depth_inter =
+                               s->max_transform_hierarchy_depth_inter;
+                      __entry->max_transform_hierarchy_depth_intra =
+                               s->max_transform_hierarchy_depth_intra;
+                      __entry->pcm_sample_bit_depth_luma_minus1 =
+                               s->pcm_sample_bit_depth_luma_minus1;
+                      __entry->pcm_sample_bit_depth_chroma_minus1 =
+                               s->pcm_sample_bit_depth_chroma_minus1;
+                      __entry->log2_min_pcm_luma_coding_block_size_minus3 =
+                               s->log2_min_pcm_luma_coding_block_size_minus3;
+                      __entry->log2_diff_max_min_pcm_luma_coding_block_size =
+                               s->log2_diff_max_min_pcm_luma_coding_block_size;
+                      __entry->num_short_term_ref_pic_sets = 
s->num_short_term_ref_pic_sets;
+                      __entry->num_long_term_ref_pics_sps = 
s->num_long_term_ref_pics_sps;
+                      __entry->chroma_format_idc = s->chroma_format_idc;
+                      __entry->sps_max_sub_layers_minus1 = 
s->sps_max_sub_layers_minus1;
+                      __entry->flags = s->flags;),
        TP_printk("\nvideo_parameter_set_id %u\n"
                  "seq_parameter_set_id %u\n"
                  "pic_width_in_luma_samples %u\n"
@@ -723,40 +1171,42 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_sps_tmpl,
                  "chroma_format_idc %u\n"
                  "sps_max_sub_layers_minus1 %u\n"
                  "flags %s",
-                 __entry->s.video_parameter_set_id,
-                 __entry->s.seq_parameter_set_id,
-                 __entry->s.pic_width_in_luma_samples,
-                 __entry->s.pic_height_in_luma_samples,
-                 __entry->s.bit_depth_luma_minus8,
-                 __entry->s.bit_depth_chroma_minus8,
-                 __entry->s.log2_max_pic_order_cnt_lsb_minus4,
-                 __entry->s.sps_max_dec_pic_buffering_minus1,
-                 __entry->s.sps_max_num_reorder_pics,
-                 __entry->s.sps_max_latency_increase_plus1,
-                 __entry->s.log2_min_luma_coding_block_size_minus3,
-                 __entry->s.log2_diff_max_min_luma_coding_block_size,
-                 __entry->s.log2_min_luma_transform_block_size_minus2,
-                 __entry->s.log2_diff_max_min_luma_transform_block_size,
-                 __entry->s.max_transform_hierarchy_depth_inter,
-                 __entry->s.max_transform_hierarchy_depth_intra,
-                 __entry->s.pcm_sample_bit_depth_luma_minus1,
-                 __entry->s.pcm_sample_bit_depth_chroma_minus1,
-                 __entry->s.log2_min_pcm_luma_coding_block_size_minus3,
-                 __entry->s.log2_diff_max_min_pcm_luma_coding_block_size,
-                 __entry->s.num_short_term_ref_pic_sets,
-                 __entry->s.num_long_term_ref_pics_sps,
-                 __entry->s.chroma_format_idc,
-                 __entry->s.sps_max_sub_layers_minus1,
-                 __print_flags(__entry->s.flags, "|",
+                 __entry->video_parameter_set_id,
+                 __entry->seq_parameter_set_id,
+                 __entry->pic_width_in_luma_samples,
+                 __entry->pic_height_in_luma_samples,
+                 __entry->bit_depth_luma_minus8,
+                 __entry->bit_depth_chroma_minus8,
+                 __entry->log2_max_pic_order_cnt_lsb_minus4,
+                 __entry->sps_max_dec_pic_buffering_minus1,
+                 __entry->sps_max_num_reorder_pics,
+                 __entry->sps_max_latency_increase_plus1,
+                 __entry->log2_min_luma_coding_block_size_minus3,
+                 __entry->log2_diff_max_min_luma_coding_block_size,
+                 __entry->log2_min_luma_transform_block_size_minus2,
+                 __entry->log2_diff_max_min_luma_transform_block_size,
+                 __entry->max_transform_hierarchy_depth_inter,
+                 __entry->max_transform_hierarchy_depth_intra,
+                 __entry->pcm_sample_bit_depth_luma_minus1,
+                 __entry->pcm_sample_bit_depth_chroma_minus1,
+                 __entry->log2_min_pcm_luma_coding_block_size_minus3,
+                 __entry->log2_diff_max_min_pcm_luma_coding_block_size,
+                 __entry->num_short_term_ref_pic_sets,
+                 __entry->num_long_term_ref_pics_sps,
+                 __entry->chroma_format_idc,
+                 __entry->sps_max_sub_layers_minus1,
+                 __print_flags(__entry->flags, "|",
                  {V4L2_HEVC_SPS_FLAG_SEPARATE_COLOUR_PLANE, 
"SEPARATE_COLOUR_PLANE"},
                  {V4L2_HEVC_SPS_FLAG_SCALING_LIST_ENABLED, 
"SCALING_LIST_ENABLED"},
                  {V4L2_HEVC_SPS_FLAG_AMP_ENABLED, "AMP_ENABLED"},
                  {V4L2_HEVC_SPS_FLAG_SAMPLE_ADAPTIVE_OFFSET, 
"SAMPLE_ADAPTIVE_OFFSET"},
                  {V4L2_HEVC_SPS_FLAG_PCM_ENABLED, "PCM_ENABLED"},
-                 {V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED, 
"V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED"},
+                 {V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED,
+                  "V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED"},
                  {V4L2_HEVC_SPS_FLAG_LONG_TERM_REF_PICS_PRESENT, 
"LONG_TERM_REF_PICS_PRESENT"},
                  {V4L2_HEVC_SPS_FLAG_SPS_TEMPORAL_MVP_ENABLED, 
"TEMPORAL_MVP_ENABLED"},
-                 {V4L2_HEVC_SPS_FLAG_STRONG_INTRA_SMOOTHING_ENABLED, 
"STRONG_INTRA_SMOOTHING_ENABLED"}
+                 {V4L2_HEVC_SPS_FLAG_STRONG_INTRA_SMOOTHING_ENABLED,
+                  "STRONG_INTRA_SMOOTHING_ENABLED"}
        ))
 
 );
@@ -765,8 +1215,43 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_sps_tmpl,
 DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_pps_tmpl,
        TP_PROTO(const struct v4l2_ctrl_hevc_pps *p),
        TP_ARGS(p),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_hevc_pps, p)),
-       TP_fast_assign(__entry->p = *p),
+       TP_STRUCT__entry(__field(__u8, pic_parameter_set_id)
+                        __field(__u8, num_extra_slice_header_bits)
+                        __field(__u8, num_ref_idx_l0_default_active_minus1)
+                        __field(__u8, num_ref_idx_l1_default_active_minus1)
+                        __field(__s8, init_qp_minus26)
+                        __field(__u8, diff_cu_qp_delta_depth)
+                        __field(__s8, pps_cb_qp_offset)
+                        __field(__s8, pps_cr_qp_offset)
+                        __field(__u8, num_tile_columns_minus1)
+                        __field(__u8, num_tile_rows_minus1)
+                        __array(__u8, column_width_minus1, 20)
+                        __array(__u8, row_height_minus1, 22)
+                        __field(__s8, pps_beta_offset_div2)
+                        __field(__s8, pps_tc_offset_div2)
+                        __field(__u8, log2_parallel_merge_level_minus2)
+                        __field(__u64, flags)),
+       TP_fast_assign(__entry->pic_parameter_set_id = p->pic_parameter_set_id;
+                      __entry->num_extra_slice_header_bits = 
p->num_extra_slice_header_bits;
+                      __entry->num_ref_idx_l0_default_active_minus1 =
+                               p->num_ref_idx_l0_default_active_minus1;
+                      __entry->num_ref_idx_l1_default_active_minus1 =
+                               p->num_ref_idx_l1_default_active_minus1;
+                      __entry->init_qp_minus26 = p->init_qp_minus26;
+                      __entry->diff_cu_qp_delta_depth = 
p->diff_cu_qp_delta_depth;
+                      __entry->pps_cb_qp_offset = p->pps_cb_qp_offset;
+                      __entry->pps_cr_qp_offset = p->pps_cr_qp_offset;
+                      __entry->num_tile_columns_minus1 = 
p->num_tile_columns_minus1;
+                      __entry->num_tile_rows_minus1 = p->num_tile_rows_minus1;
+                      memcpy(__entry->column_width_minus1, 
p->column_width_minus1,
+                             sizeof(__entry->column_width_minus1));
+                      memcpy(__entry->row_height_minus1, p->row_height_minus1,
+                             sizeof(__entry->row_height_minus1));
+                      __entry->pps_beta_offset_div2 = p->pps_beta_offset_div2;
+                      __entry->pps_tc_offset_div2 = p->pps_tc_offset_div2;
+                      __entry->log2_parallel_merge_level_minus2 =
+                               p->log2_parallel_merge_level_minus2;
+                      __entry->flags = p->flags;),
        TP_printk("\npic_parameter_set_id %u\n"
                  "num_extra_slice_header_bits %u\n"
                  "num_ref_idx_l0_default_active_minus1 %u\n"
@@ -783,45 +1268,52 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_pps_tmpl,
                  "pps_tc_offset_div2 %d\n"
                  "log2_parallel_merge_level_minus2 %u\n"
                  "flags %s",
-                 __entry->p.pic_parameter_set_id,
-                 __entry->p.num_extra_slice_header_bits,
-                 __entry->p.num_ref_idx_l0_default_active_minus1,
-                 __entry->p.num_ref_idx_l1_default_active_minus1,
-                 __entry->p.init_qp_minus26,
-                 __entry->p.diff_cu_qp_delta_depth,
-                 __entry->p.pps_cb_qp_offset,
-                 __entry->p.pps_cr_qp_offset,
-                 __entry->p.num_tile_columns_minus1,
-                 __entry->p.num_tile_rows_minus1,
-                 __print_array(__entry->p.column_width_minus1,
-                               ARRAY_SIZE(__entry->p.column_width_minus1),
-                               sizeof(__entry->p.column_width_minus1[0])),
-                 __print_array(__entry->p.row_height_minus1,
-                               ARRAY_SIZE(__entry->p.row_height_minus1),
-                               sizeof(__entry->p.row_height_minus1[0])),
-                 __entry->p.pps_beta_offset_div2,
-                 __entry->p.pps_tc_offset_div2,
-                 __entry->p.log2_parallel_merge_level_minus2,
-                 __print_flags(__entry->p.flags, "|",
-                 {V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT_ENABLED, 
"DEPENDENT_SLICE_SEGMENT_ENABLED"},
+                 __entry->pic_parameter_set_id,
+                 __entry->num_extra_slice_header_bits,
+                 __entry->num_ref_idx_l0_default_active_minus1,
+                 __entry->num_ref_idx_l1_default_active_minus1,
+                 __entry->init_qp_minus26,
+                 __entry->diff_cu_qp_delta_depth,
+                 __entry->pps_cb_qp_offset,
+                 __entry->pps_cr_qp_offset,
+                 __entry->num_tile_columns_minus1,
+                 __entry->num_tile_rows_minus1,
+                 __print_array(__entry->column_width_minus1,
+                               ARRAY_SIZE(__entry->column_width_minus1),
+                               sizeof(__entry->column_width_minus1[0])),
+                 __print_array(__entry->row_height_minus1,
+                               ARRAY_SIZE(__entry->row_height_minus1),
+                               sizeof(__entry->row_height_minus1[0])),
+                 __entry->pps_beta_offset_div2,
+                 __entry->pps_tc_offset_div2,
+                 __entry->log2_parallel_merge_level_minus2,
+                 __print_flags(__entry->flags, "|",
+                 {V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT_ENABLED,
+                  "DEPENDENT_SLICE_SEGMENT_ENABLED"},
                  {V4L2_HEVC_PPS_FLAG_OUTPUT_FLAG_PRESENT, 
"OUTPUT_FLAG_PRESENT"},
                  {V4L2_HEVC_PPS_FLAG_SIGN_DATA_HIDING_ENABLED, 
"SIGN_DATA_HIDING_ENABLED"},
                  {V4L2_HEVC_PPS_FLAG_CABAC_INIT_PRESENT, "CABAC_INIT_PRESENT"},
                  {V4L2_HEVC_PPS_FLAG_CONSTRAINED_INTRA_PRED, 
"CONSTRAINED_INTRA_PRED"},
                  {V4L2_HEVC_PPS_FLAG_CU_QP_DELTA_ENABLED, 
"CU_QP_DELTA_ENABLED"},
-                 {V4L2_HEVC_PPS_FLAG_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT, 
"PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT"},
+                 {V4L2_HEVC_PPS_FLAG_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT,
+                  "PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT"},
                  {V4L2_HEVC_PPS_FLAG_WEIGHTED_PRED, "WEIGHTED_PRED"},
                  {V4L2_HEVC_PPS_FLAG_WEIGHTED_BIPRED, "WEIGHTED_BIPRED"},
                  {V4L2_HEVC_PPS_FLAG_TRANSQUANT_BYPASS_ENABLED, 
"TRANSQUANT_BYPASS_ENABLED"},
                  {V4L2_HEVC_PPS_FLAG_TILES_ENABLED, "TILES_ENABLED"},
                  {V4L2_HEVC_PPS_FLAG_ENTROPY_CODING_SYNC_ENABLED, 
"ENTROPY_CODING_SYNC_ENABLED"},
-                 {V4L2_HEVC_PPS_FLAG_LOOP_FILTER_ACROSS_TILES_ENABLED, 
"LOOP_FILTER_ACROSS_TILES_ENABLED"},
-                 {V4L2_HEVC_PPS_FLAG_PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED, 
"PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED"},
-                 {V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_OVERRIDE_ENABLED, 
"DEBLOCKING_FILTER_OVERRIDE_ENABLED"},
+                 {V4L2_HEVC_PPS_FLAG_LOOP_FILTER_ACROSS_TILES_ENABLED,
+                  "LOOP_FILTER_ACROSS_TILES_ENABLED"},
+                 {V4L2_HEVC_PPS_FLAG_PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED,
+                  "PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED"},
+                 {V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_OVERRIDE_ENABLED,
+                  "DEBLOCKING_FILTER_OVERRIDE_ENABLED"},
                  {V4L2_HEVC_PPS_FLAG_PPS_DISABLE_DEBLOCKING_FILTER, 
"DISABLE_DEBLOCKING_FILTER"},
                  {V4L2_HEVC_PPS_FLAG_LISTS_MODIFICATION_PRESENT, 
"LISTS_MODIFICATION_PRESENT"},
-                 {V4L2_HEVC_PPS_FLAG_SLICE_SEGMENT_HEADER_EXTENSION_PRESENT, 
"SLICE_SEGMENT_HEADER_EXTENSION_PRESENT"},
-                 {V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT, 
"DEBLOCKING_FILTER_CONTROL_PRESENT"},
+                 {V4L2_HEVC_PPS_FLAG_SLICE_SEGMENT_HEADER_EXTENSION_PRESENT,
+                  "SLICE_SEGMENT_HEADER_EXTENSION_PRESENT"},
+                 {V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT,
+                  "DEBLOCKING_FILTER_CONTROL_PRESENT"},
                  {V4L2_HEVC_PPS_FLAG_UNIFORM_SPACING, "UNIFORM_SPACING"}
        ))
 
@@ -832,8 +1324,60 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_pps_tmpl,
 DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_slice_params_tmpl,
        TP_PROTO(const struct v4l2_ctrl_hevc_slice_params *s),
        TP_ARGS(s),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_hevc_slice_params, s)),
-       TP_fast_assign(__entry->s = *s),
+       TP_STRUCT__entry(__field(__u32, bit_size)
+                        __field(__u32, data_byte_offset)
+                        __field(__u32, num_entry_point_offsets)
+                        __field(__u8, nal_unit_type)
+                        __field(__u8, nuh_temporal_id_plus1)
+                        __field(__u8, slice_type)
+                        __field(__u8, colour_plane_id)
+                        __field(__s32, slice_pic_order_cnt)
+                        __field(__u8, num_ref_idx_l0_active_minus1)
+                        __field(__u8, num_ref_idx_l1_active_minus1)
+                        __field(__u8, collocated_ref_idx)
+                        __field(__u8, five_minus_max_num_merge_cand)
+                        __field(__s8, slice_qp_delta)
+                        __field(__s8, slice_cb_qp_offset)
+                        __field(__s8, slice_cr_qp_offset)
+                        __field(__s8, slice_act_y_qp_offset)
+                        __field(__s8, slice_act_cb_qp_offset)
+                        __field(__s8, slice_act_cr_qp_offset)
+                        __field(__s8, slice_beta_offset_div2)
+                        __field(__s8, slice_tc_offset_div2)
+                        __field(__u8, pic_struct)
+                        __field(__u32, slice_segment_addr)
+                        __array(__u8, ref_idx_l0, 
V4L2_HEVC_DPB_ENTRIES_NUM_MAX)
+                        __array(__u8, ref_idx_l1, 
V4L2_HEVC_DPB_ENTRIES_NUM_MAX)
+                        __field(__u16, short_term_ref_pic_set_size)
+                        __field(__u16, long_term_ref_pic_set_size)
+                        __field(__u64, flags)),
+       TP_fast_assign(__entry->bit_size = s->bit_size;
+                      __entry->data_byte_offset = s->data_byte_offset;
+                      __entry->num_entry_point_offsets = 
s->num_entry_point_offsets;
+                      __entry->nal_unit_type = s->nal_unit_type;
+                      __entry->nuh_temporal_id_plus1 = 
s->nuh_temporal_id_plus1;
+                      __entry->slice_type = s->slice_type;
+                      __entry->colour_plane_id = s->colour_plane_id;
+                      __entry->slice_pic_order_cnt = s->slice_pic_order_cnt;
+                      __entry->num_ref_idx_l0_active_minus1 = 
s->num_ref_idx_l0_active_minus1;
+                      __entry->num_ref_idx_l1_active_minus1 = 
s->num_ref_idx_l1_active_minus1;
+                      __entry->collocated_ref_idx = s->collocated_ref_idx;
+                      __entry->five_minus_max_num_merge_cand = 
s->five_minus_max_num_merge_cand;
+                      __entry->slice_qp_delta = s->slice_qp_delta;
+                      __entry->slice_cb_qp_offset = s->slice_cb_qp_offset;
+                      __entry->slice_cr_qp_offset = s->slice_cr_qp_offset;
+                      __entry->slice_act_y_qp_offset = 
s->slice_act_y_qp_offset;
+                      __entry->slice_act_cb_qp_offset = 
s->slice_act_cb_qp_offset;
+                      __entry->slice_act_cr_qp_offset = 
s->slice_act_cr_qp_offset;
+                      __entry->slice_beta_offset_div2 = 
s->slice_beta_offset_div2;
+                      __entry->slice_tc_offset_div2 = s->slice_tc_offset_div2;
+                      __entry->pic_struct = s->pic_struct;
+                      __entry->slice_segment_addr = s->slice_segment_addr;
+                      memcpy(__entry->ref_idx_l0, s->ref_idx_l0, 
sizeof(__entry->ref_idx_l0));
+                      memcpy(__entry->ref_idx_l1, s->ref_idx_l1, 
sizeof(__entry->ref_idx_l1));
+                      __entry->short_term_ref_pic_set_size = 
s->short_term_ref_pic_set_size;
+                      __entry->long_term_ref_pic_set_size = 
s->long_term_ref_pic_set_size;
+                      __entry->flags = s->flags;),
        TP_printk("\nbit_size %u\n"
                  "data_byte_offset %u\n"
                  "num_entry_point_offsets %u\n"
@@ -861,46 +1405,49 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_slice_params_tmpl,
                  "short_term_ref_pic_set_size %u\n"
                  "long_term_ref_pic_set_size %u\n"
                  "flags %s",
-                 __entry->s.bit_size,
-                 __entry->s.data_byte_offset,
-                 __entry->s.num_entry_point_offsets,
-                 __entry->s.nal_unit_type,
-                 __entry->s.nuh_temporal_id_plus1,
-                 __entry->s.slice_type,
-                 __entry->s.colour_plane_id,
-                 __entry->s.slice_pic_order_cnt,
-                 __entry->s.num_ref_idx_l0_active_minus1,
-                 __entry->s.num_ref_idx_l1_active_minus1,
-                 __entry->s.collocated_ref_idx,
-                 __entry->s.five_minus_max_num_merge_cand,
-                 __entry->s.slice_qp_delta,
-                 __entry->s.slice_cb_qp_offset,
-                 __entry->s.slice_cr_qp_offset,
-                 __entry->s.slice_act_y_qp_offset,
-                 __entry->s.slice_act_cb_qp_offset,
-                 __entry->s.slice_act_cr_qp_offset,
-                 __entry->s.slice_beta_offset_div2,
-                 __entry->s.slice_tc_offset_div2,
-                 __entry->s.pic_struct,
-                 __entry->s.slice_segment_addr,
-                 __print_array(__entry->s.ref_idx_l0,
-                               ARRAY_SIZE(__entry->s.ref_idx_l0),
-                               sizeof(__entry->s.ref_idx_l0[0])),
-                 __print_array(__entry->s.ref_idx_l1,
-                               ARRAY_SIZE(__entry->s.ref_idx_l1),
-                               sizeof(__entry->s.ref_idx_l1[0])),
-                 __entry->s.short_term_ref_pic_set_size,
-                 __entry->s.long_term_ref_pic_set_size,
-                 __print_flags(__entry->s.flags, "|",
+                 __entry->bit_size,
+                 __entry->data_byte_offset,
+                 __entry->num_entry_point_offsets,
+                 __entry->nal_unit_type,
+                 __entry->nuh_temporal_id_plus1,
+                 __entry->slice_type,
+                 __entry->colour_plane_id,
+                 __entry->slice_pic_order_cnt,
+                 __entry->num_ref_idx_l0_active_minus1,
+                 __entry->num_ref_idx_l1_active_minus1,
+                 __entry->collocated_ref_idx,
+                 __entry->five_minus_max_num_merge_cand,
+                 __entry->slice_qp_delta,
+                 __entry->slice_cb_qp_offset,
+                 __entry->slice_cr_qp_offset,
+                 __entry->slice_act_y_qp_offset,
+                 __entry->slice_act_cb_qp_offset,
+                 __entry->slice_act_cr_qp_offset,
+                 __entry->slice_beta_offset_div2,
+                 __entry->slice_tc_offset_div2,
+                 __entry->pic_struct,
+                 __entry->slice_segment_addr,
+                 __print_array(__entry->ref_idx_l0,
+                               ARRAY_SIZE(__entry->ref_idx_l0),
+                               sizeof(__entry->ref_idx_l0[0])),
+                 __print_array(__entry->ref_idx_l1,
+                               ARRAY_SIZE(__entry->ref_idx_l1),
+                               sizeof(__entry->ref_idx_l1[0])),
+                 __entry->short_term_ref_pic_set_size,
+                 __entry->long_term_ref_pic_set_size,
+                 __print_flags(__entry->flags, "|",
                  {V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_LUMA, 
"SLICE_SAO_LUMA"},
                  {V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_SAO_CHROMA, 
"SLICE_SAO_CHROMA"},
-                 {V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_TEMPORAL_MVP_ENABLED, 
"SLICE_TEMPORAL_MVP_ENABLED"},
+                 {V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_TEMPORAL_MVP_ENABLED,
+                  "SLICE_TEMPORAL_MVP_ENABLED"},
                  {V4L2_HEVC_SLICE_PARAMS_FLAG_MVD_L1_ZERO, "MVD_L1_ZERO"},
                  {V4L2_HEVC_SLICE_PARAMS_FLAG_CABAC_INIT, "CABAC_INIT"},
                  {V4L2_HEVC_SLICE_PARAMS_FLAG_COLLOCATED_FROM_L0, 
"COLLOCATED_FROM_L0"},
                  {V4L2_HEVC_SLICE_PARAMS_FLAG_USE_INTEGER_MV, 
"USE_INTEGER_MV"},
-                 
{V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_DEBLOCKING_FILTER_DISABLED, 
"SLICE_DEBLOCKING_FILTER_DISABLED"},
-                 
{V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED, 
"SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED"},
+                 {V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_DEBLOCKING_FILTER_DISABLED,
+                  "SLICE_DEBLOCKING_FILTER_DISABLED"},
+                 
{V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED,
+                  "SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED"},
                  {V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT, 
"DEPENDENT_SLICE_SEGMENT"}
 
        ))
@@ -909,8 +1456,35 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_slice_params_tmpl,
 DECLARE_EVENT_CLASS(v4l2_hevc_pred_weight_table_tmpl,
        TP_PROTO(const struct v4l2_hevc_pred_weight_table *p),
        TP_ARGS(p),
-       TP_STRUCT__entry(__field_struct(struct v4l2_hevc_pred_weight_table, p)),
-       TP_fast_assign(__entry->p = *p),
+       TP_STRUCT__entry(__array(__s8, delta_luma_weight_l0, 
V4L2_HEVC_DPB_ENTRIES_NUM_MAX)
+                        __array(__s8, luma_offset_l0, 
V4L2_HEVC_DPB_ENTRIES_NUM_MAX)
+                        __array(__s8, delta_chroma_weight_l0, 
V4L2_HEVC_DPB_ENTRIES_NUM_MAX * 2)
+                        __array(__s8, chroma_offset_l0, 
V4L2_HEVC_DPB_ENTRIES_NUM_MAX * 2)
+                        __array(__s8, delta_luma_weight_l1, 
V4L2_HEVC_DPB_ENTRIES_NUM_MAX)
+                        __array(__s8, luma_offset_l1, 
V4L2_HEVC_DPB_ENTRIES_NUM_MAX)
+                        __array(__s8, delta_chroma_weight_l1, 
V4L2_HEVC_DPB_ENTRIES_NUM_MAX * 2)
+                        __array(__s8, chroma_offset_l1, 
V4L2_HEVC_DPB_ENTRIES_NUM_MAX * 2)
+                        __field(__u8, luma_log2_weight_denom)
+                        __field(__s8, delta_chroma_log2_weight_denom)),
+       TP_fast_assign(memcpy(__entry->delta_luma_weight_l0, 
p->delta_luma_weight_l0,
+                             sizeof(__entry->delta_luma_weight_l0));
+                      memcpy(__entry->luma_offset_l0, p->luma_offset_l0,
+                             sizeof(__entry->luma_offset_l0));
+                      memcpy(__entry->delta_chroma_weight_l0, 
p->delta_chroma_weight_l0,
+                             sizeof(__entry->delta_chroma_weight_l0));
+                      memcpy(__entry->chroma_offset_l0, p->chroma_offset_l0,
+                             sizeof(__entry->chroma_offset_l0));
+                      memcpy(__entry->delta_luma_weight_l1, 
p->delta_luma_weight_l1,
+                             sizeof(__entry->delta_luma_weight_l1));
+                      memcpy(__entry->luma_offset_l1, p->luma_offset_l1,
+                             sizeof(__entry->luma_offset_l1));
+                      memcpy(__entry->delta_chroma_weight_l1, 
p->delta_chroma_weight_l1,
+                             sizeof(__entry->delta_chroma_weight_l1));
+                      memcpy(__entry->chroma_offset_l1, p->chroma_offset_l1,
+                             sizeof(__entry->chroma_offset_l1));
+                      __entry->luma_log2_weight_denom = 
p->luma_log2_weight_denom;
+                      __entry->delta_chroma_log2_weight_denom =
+                               p->delta_chroma_log2_weight_denom;),
        TP_printk("\ndelta_luma_weight_l0 %s\n"
                  "luma_offset_l0 %s\n"
                  "delta_chroma_weight_l0 {%s}\n"
@@ -921,44 +1495,62 @@ DECLARE_EVENT_CLASS(v4l2_hevc_pred_weight_table_tmpl,
                  "chroma_offset_l1 {%s}\n"
                  "luma_log2_weight_denom %d\n"
                  "delta_chroma_log2_weight_denom %d\n",
-                 __print_array(__entry->p.delta_luma_weight_l0,
-                               ARRAY_SIZE(__entry->p.delta_luma_weight_l0),
-                               sizeof(__entry->p.delta_luma_weight_l0[0])),
-                 __print_array(__entry->p.luma_offset_l0,
-                               ARRAY_SIZE(__entry->p.luma_offset_l0),
-                               sizeof(__entry->p.luma_offset_l0[0])),
+                 __print_array(__entry->delta_luma_weight_l0,
+                               ARRAY_SIZE(__entry->delta_luma_weight_l0),
+                               sizeof(__entry->delta_luma_weight_l0[0])),
+                 __print_array(__entry->luma_offset_l0,
+                               ARRAY_SIZE(__entry->luma_offset_l0),
+                               sizeof(__entry->luma_offset_l0[0])),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->p.delta_chroma_weight_l0,
-                                  sizeof(__entry->p.delta_chroma_weight_l0),
+                                  __entry->delta_chroma_weight_l0,
+                                  sizeof(__entry->delta_chroma_weight_l0),
                                   false),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->p.chroma_offset_l0,
-                                  sizeof(__entry->p.chroma_offset_l0),
+                                  __entry->chroma_offset_l0,
+                                  sizeof(__entry->chroma_offset_l0),
                                   false),
-                 __print_array(__entry->p.delta_luma_weight_l1,
-                               ARRAY_SIZE(__entry->p.delta_luma_weight_l1),
-                               sizeof(__entry->p.delta_luma_weight_l1[0])),
-                 __print_array(__entry->p.luma_offset_l1,
-                               ARRAY_SIZE(__entry->p.luma_offset_l1),
-                               sizeof(__entry->p.luma_offset_l1[0])),
+                 __print_array(__entry->delta_luma_weight_l1,
+                               ARRAY_SIZE(__entry->delta_luma_weight_l1),
+                               sizeof(__entry->delta_luma_weight_l1[0])),
+                 __print_array(__entry->luma_offset_l1,
+                               ARRAY_SIZE(__entry->luma_offset_l1),
+                               sizeof(__entry->luma_offset_l1[0])),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->p.delta_chroma_weight_l1,
-                                  sizeof(__entry->p.delta_chroma_weight_l1),
+                                  __entry->delta_chroma_weight_l1,
+                                  sizeof(__entry->delta_chroma_weight_l1),
                                   false),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->p.chroma_offset_l1,
-                                  sizeof(__entry->p.chroma_offset_l1),
+                                  __entry->chroma_offset_l1,
+                                  sizeof(__entry->chroma_offset_l1),
                                   false),
-               __entry->p.luma_log2_weight_denom,
-               __entry->p.delta_chroma_log2_weight_denom
+               __entry->luma_log2_weight_denom,
+               __entry->delta_chroma_log2_weight_denom
 
        ))
 
 DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_scaling_matrix_tmpl,
        TP_PROTO(const struct v4l2_ctrl_hevc_scaling_matrix *s),
        TP_ARGS(s),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_hevc_scaling_matrix, 
s)),
-       TP_fast_assign(__entry->s = *s),
+       TP_STRUCT__entry(__array(__u8, scaling_list_4x4, 6 * 16)
+                        __array(__u8, scaling_list_8x8, 6 * 64)
+                        __array(__u8, scaling_list_16x16, 6 * 64)
+                        __array(__u8, scaling_list_32x32, 2 * 64)
+                        __array(__u8, scaling_list_dc_coef_16x16, 6)
+                        __array(__u8, scaling_list_dc_coef_32x32, 2)),
+       TP_fast_assign(memcpy(__entry->scaling_list_4x4,
+                             s->scaling_list_4x4, 
sizeof(__entry->scaling_list_4x4));
+                      memcpy(__entry->scaling_list_8x8,
+                             s->scaling_list_8x8, 
sizeof(__entry->scaling_list_8x8));
+                      memcpy(__entry->scaling_list_16x16,
+                             s->scaling_list_16x16, 
sizeof(__entry->scaling_list_16x16));
+                      memcpy(__entry->scaling_list_32x32,
+                             s->scaling_list_32x32, 
sizeof(__entry->scaling_list_32x32));
+                      memcpy(__entry->scaling_list_dc_coef_16x16,
+                             s->scaling_list_dc_coef_16x16,
+                             sizeof(__entry->scaling_list_dc_coef_16x16));
+                      memcpy(__entry->scaling_list_dc_coef_32x32,
+                             s->scaling_list_dc_coef_32x32,
+                             sizeof(__entry->scaling_list_dc_coef_32x32));),
        TP_printk("\nscaling_list_4x4 {%s}\n"
                  "scaling_list_8x8 {%s}\n"
                  "scaling_list_16x16 {%s}\n"
@@ -966,34 +1558,56 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_scaling_matrix_tmpl,
                  "scaling_list_dc_coef_16x16 %s\n"
                  "scaling_list_dc_coef_32x32 %s\n",
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->s.scaling_list_4x4,
-                                  sizeof(__entry->s.scaling_list_4x4),
+                                  __entry->scaling_list_4x4,
+                                  sizeof(__entry->scaling_list_4x4),
                                   false),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->s.scaling_list_8x8,
-                                  sizeof(__entry->s.scaling_list_8x8),
+                                  __entry->scaling_list_8x8,
+                                  sizeof(__entry->scaling_list_8x8),
                                   false),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->s.scaling_list_16x16,
-                                  sizeof(__entry->s.scaling_list_16x16),
+                                  __entry->scaling_list_16x16,
+                                  sizeof(__entry->scaling_list_16x16),
                                   false),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->s.scaling_list_32x32,
-                                  sizeof(__entry->s.scaling_list_32x32),
+                                  __entry->scaling_list_32x32,
+                                  sizeof(__entry->scaling_list_32x32),
                                   false),
-                 __print_array(__entry->s.scaling_list_dc_coef_16x16,
-                               
ARRAY_SIZE(__entry->s.scaling_list_dc_coef_16x16),
-                               
sizeof(__entry->s.scaling_list_dc_coef_16x16[0])),
-                 __print_array(__entry->s.scaling_list_dc_coef_32x32,
-                               
ARRAY_SIZE(__entry->s.scaling_list_dc_coef_32x32),
-                               
sizeof(__entry->s.scaling_list_dc_coef_32x32[0]))
+                 __print_array(__entry->scaling_list_dc_coef_16x16,
+                               ARRAY_SIZE(__entry->scaling_list_dc_coef_16x16),
+                               sizeof(__entry->scaling_list_dc_coef_16x16[0])),
+                 __print_array(__entry->scaling_list_dc_coef_32x32,
+                               ARRAY_SIZE(__entry->scaling_list_dc_coef_32x32),
+                               sizeof(__entry->scaling_list_dc_coef_32x32[0]))
        ))
 
 DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_decode_params_tmpl,
        TP_PROTO(const struct v4l2_ctrl_hevc_decode_params *d),
        TP_ARGS(d),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_hevc_decode_params, 
d)),
-       TP_fast_assign(__entry->d = *d),
+       TP_STRUCT__entry(__field(__s32, pic_order_cnt_val)
+                        __field(__u16, short_term_ref_pic_set_size)
+                        __field(__u16, long_term_ref_pic_set_size)
+                        __field(__u8, num_active_dpb_entries)
+                        __field(__u8, num_poc_st_curr_before)
+                        __field(__u8, num_poc_st_curr_after)
+                        __field(__u8, num_poc_lt_curr)
+                        __array(__u8, poc_st_curr_before, 
V4L2_HEVC_DPB_ENTRIES_NUM_MAX)
+                        __array(__u8, poc_st_curr_after, 
V4L2_HEVC_DPB_ENTRIES_NUM_MAX)
+                        __array(__u8, poc_lt_curr, 
V4L2_HEVC_DPB_ENTRIES_NUM_MAX)
+                        __field(__u64, flags)),
+       TP_fast_assign(__entry->pic_order_cnt_val = d->pic_order_cnt_val;
+                      __entry->short_term_ref_pic_set_size = 
d->short_term_ref_pic_set_size;
+                      __entry->long_term_ref_pic_set_size = 
d->long_term_ref_pic_set_size;
+                      __entry->num_active_dpb_entries = 
d->num_active_dpb_entries;
+                      __entry->num_poc_st_curr_before = 
d->num_poc_st_curr_before;
+                      __entry->num_poc_st_curr_after = 
d->num_poc_st_curr_after;
+                      __entry->num_poc_lt_curr = d->num_poc_lt_curr;
+                      memcpy(__entry->poc_st_curr_before, 
d->poc_st_curr_before,
+                             sizeof(__entry->poc_st_curr_before));
+                      memcpy(__entry->poc_st_curr_after, d->poc_st_curr_after,
+                             sizeof(__entry->poc_st_curr_after));
+                      memcpy(__entry->poc_lt_curr, d->poc_lt_curr, 
sizeof(__entry->poc_lt_curr));
+                      __entry->flags = d->flags;),
        TP_printk("\npic_order_cnt_val %d\n"
                  "short_term_ref_pic_set_size %u\n"
                  "long_term_ref_pic_set_size %u\n"
@@ -1005,23 +1619,23 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_decode_params_tmpl,
                  "poc_st_curr_after %s\n"
                  "poc_lt_curr %s\n"
                  "flags %s",
-                 __entry->d.pic_order_cnt_val,
-                 __entry->d.short_term_ref_pic_set_size,
-                 __entry->d.long_term_ref_pic_set_size,
-                 __entry->d.num_active_dpb_entries,
-                 __entry->d.num_poc_st_curr_before,
-                 __entry->d.num_poc_st_curr_after,
-                 __entry->d.num_poc_lt_curr,
-                 __print_array(__entry->d.poc_st_curr_before,
-                               ARRAY_SIZE(__entry->d.poc_st_curr_before),
-                               sizeof(__entry->d.poc_st_curr_before[0])),
-                 __print_array(__entry->d.poc_st_curr_after,
-                               ARRAY_SIZE(__entry->d.poc_st_curr_after),
-                               sizeof(__entry->d.poc_st_curr_after[0])),
-                 __print_array(__entry->d.poc_lt_curr,
-                               ARRAY_SIZE(__entry->d.poc_lt_curr),
-                               sizeof(__entry->d.poc_lt_curr[0])),
-                 __print_flags(__entry->d.flags, "|",
+                 __entry->pic_order_cnt_val,
+                 __entry->short_term_ref_pic_set_size,
+                 __entry->long_term_ref_pic_set_size,
+                 __entry->num_active_dpb_entries,
+                 __entry->num_poc_st_curr_before,
+                 __entry->num_poc_st_curr_after,
+                 __entry->num_poc_lt_curr,
+                 __print_array(__entry->poc_st_curr_before,
+                               ARRAY_SIZE(__entry->poc_st_curr_before),
+                               sizeof(__entry->poc_st_curr_before[0])),
+                 __print_array(__entry->poc_st_curr_after,
+                               ARRAY_SIZE(__entry->poc_st_curr_after),
+                               sizeof(__entry->poc_st_curr_after[0])),
+                 __print_array(__entry->poc_lt_curr,
+                               ARRAY_SIZE(__entry->poc_lt_curr),
+                               sizeof(__entry->poc_lt_curr[0])),
+                 __print_flags(__entry->flags, "|",
                  {V4L2_HEVC_DECODE_PARAM_FLAG_IRAP_PIC, "IRAP_PIC"},
                  {V4L2_HEVC_DECODE_PARAM_FLAG_IDR_PIC, "IDR_PIC"},
                  {V4L2_HEVC_DECODE_PARAM_FLAG_NO_OUTPUT_OF_PRIOR, 
"NO_OUTPUT_OF_PRIOR"}
@@ -1031,22 +1645,44 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_decode_params_tmpl,
 DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_ext_sps_lt_rps_tmpl,
        TP_PROTO(const struct v4l2_ctrl_hevc_ext_sps_lt_rps *lt),
        TP_ARGS(lt),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_hevc_ext_sps_lt_rps, 
lt)),
-       TP_fast_assign(__entry->lt = *lt),
+       TP_STRUCT__entry(__field(__u8, flags)
+                        __field(__u32, lt_ref_pic_poc_lsb_sps)),
+       TP_fast_assign(__entry->flags = lt->flags;
+                      __entry->lt_ref_pic_poc_lsb_sps = 
lt->lt_ref_pic_poc_lsb_sps;),
        TP_printk("\nflags %s\n"
                  "lt_ref_pic_poc_lsb_sps %x\n",
-                 __print_flags(__entry->lt.flags, "|",
+                 __print_flags(__entry->flags, "|",
                  {V4L2_HEVC_EXT_SPS_LT_RPS_FLAG_USED_LT, "USED_LT"}
                  ),
-                 __entry->lt.lt_ref_pic_poc_lsb_sps
+                 __entry->lt_ref_pic_poc_lsb_sps
        )
 );
 
 DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_ext_sps_st_rps_tmpl,
        TP_PROTO(const struct v4l2_ctrl_hevc_ext_sps_st_rps *st),
        TP_ARGS(st),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_hevc_ext_sps_st_rps, 
st)),
-       TP_fast_assign(__entry->st = *st),
+       TP_STRUCT__entry(__field(__u8, flags)
+                        __field(__u8, delta_idx_minus1)
+                        __field(__u8, delta_rps_sign)
+                        __field(__u16, abs_delta_rps_minus1)
+                        __field(__u8, num_negative_pics)
+                        __field(__u8, num_positive_pics)
+                        __field(__u32, used_by_curr_pic)
+                        __field(__u32, use_delta_flag)
+                        __array(__u32, delta_poc_s0_minus1, 16)
+                        __array(__u32, delta_poc_s1_minus1, 16)),
+       TP_fast_assign(__entry->flags = st->flags;
+                      __entry->delta_idx_minus1 = st->delta_idx_minus1;
+                      __entry->delta_rps_sign = st->delta_rps_sign;
+                      __entry->abs_delta_rps_minus1 = st->abs_delta_rps_minus1;
+                      __entry->num_negative_pics = st->num_negative_pics;
+                      __entry->num_positive_pics = st->num_positive_pics;
+                      __entry->used_by_curr_pic = st->used_by_curr_pic;
+                      __entry->use_delta_flag = st->use_delta_flag;
+                      memcpy(__entry->delta_poc_s0_minus1, 
st->delta_poc_s0_minus1,
+                             sizeof(__entry->delta_poc_s0_minus1));
+                      memcpy(__entry->delta_poc_s1_minus1, 
st->delta_poc_s1_minus1,
+                             sizeof(__entry->delta_poc_s1_minus1));),
        TP_printk("\nflags %s\n"
                  "delta_idx_minus1: %u\n"
                  "delta_rps_sign: %u\n"
@@ -1057,40 +1693,46 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_ext_sps_st_rps_tmpl,
                  "use_delta_flag: %08x\n"
                  "delta_poc_s0_minus1: %s\n"
                  "delta_poc_s1_minus1: %s\n",
-                 __print_flags(__entry->st.flags, "|",
+                 __print_flags(__entry->flags, "|",
                  {V4L2_HEVC_EXT_SPS_ST_RPS_FLAG_INTER_REF_PIC_SET_PRED, 
"INTER_REF_PIC_SET_PRED"}
                  ),
-                 __entry->st.delta_idx_minus1,
-                 __entry->st.delta_rps_sign,
-                 __entry->st.abs_delta_rps_minus1,
-                 __entry->st.num_negative_pics,
-                 __entry->st.num_positive_pics,
-                 __entry->st.used_by_curr_pic,
-                 __entry->st.use_delta_flag,
-                 __print_array(__entry->st.delta_poc_s0_minus1,
-                               ARRAY_SIZE(__entry->st.delta_poc_s0_minus1),
-                               sizeof(__entry->st.delta_poc_s0_minus1[0])),
-                 __print_array(__entry->st.delta_poc_s1_minus1,
-                               ARRAY_SIZE(__entry->st.delta_poc_s1_minus1),
-                               sizeof(__entry->st.delta_poc_s1_minus1[0]))
+                 __entry->delta_idx_minus1,
+                 __entry->delta_rps_sign,
+                 __entry->abs_delta_rps_minus1,
+                 __entry->num_negative_pics,
+                 __entry->num_positive_pics,
+                 __entry->used_by_curr_pic,
+                 __entry->use_delta_flag,
+                 __print_array(__entry->delta_poc_s0_minus1,
+                               ARRAY_SIZE(__entry->delta_poc_s0_minus1),
+                               sizeof(__entry->delta_poc_s0_minus1[0])),
+                 __print_array(__entry->delta_poc_s1_minus1,
+                               ARRAY_SIZE(__entry->delta_poc_s1_minus1),
+                               sizeof(__entry->delta_poc_s1_minus1[0]))
        )
 );
 
 DECLARE_EVENT_CLASS(v4l2_hevc_dpb_entry_tmpl,
        TP_PROTO(const struct v4l2_hevc_dpb_entry *e),
        TP_ARGS(e),
-       TP_STRUCT__entry(__field_struct(struct v4l2_hevc_dpb_entry, e)),
-       TP_fast_assign(__entry->e = *e),
+       TP_STRUCT__entry(__field(__u64, timestamp)
+                        __field(__u8, flags)
+                        __field(__u8, field_pic)
+                        __field(__s32, pic_order_cnt_val)),
+       TP_fast_assign(__entry->timestamp = e->timestamp;
+                      __entry->flags = e->flags;
+                      __entry->field_pic = e->field_pic;
+                      __entry->pic_order_cnt_val = e->pic_order_cnt_val;),
        TP_printk("\ntimestamp %llu\n"
                  "flags %s\n"
                  "field_pic %u\n"
                  "pic_order_cnt_val %d\n",
-               __entry->e.timestamp,
-               __print_flags(__entry->e.flags, "|",
+               __entry->timestamp,
+               __print_flags(__entry->flags, "|",
                {V4L2_HEVC_DPB_ENTRY_LONG_TERM_REFERENCE, "LONG_TERM_REFERENCE"}
                  ),
-               __entry->e.field_pic,
-               __entry->e.pic_order_cnt_val
+               __entry->field_pic,
+               __entry->pic_order_cnt_val
        ))
 
 DEFINE_EVENT(v4l2_ctrl_hevc_sps_tmpl, v4l2_ctrl_hevc_sps,
@@ -1143,16 +1785,26 @@ DEFINE_EVENT(v4l2_hevc_dpb_entry_tmpl, 
v4l2_hevc_dpb_entry,
 DECLARE_EVENT_CLASS(v4l2_ctrl_mpeg2_seq_tmpl,
        TP_PROTO(const struct v4l2_ctrl_mpeg2_sequence *s),
        TP_ARGS(s),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_mpeg2_sequence, s)),
-       TP_fast_assign(__entry->s = *s;),
+       TP_STRUCT__entry(__field(__u16, horizontal_size)
+                        __field(__u16, vertical_size)
+                        __field(__u32, vbv_buffer_size)
+                        __field(__u16, profile_and_level_indication)
+                        __field(__u8, chroma_format)
+                        __field(__u8, flags)),
+       TP_fast_assign(__entry->horizontal_size = s->horizontal_size;
+                      __entry->vertical_size = s->vertical_size;
+                      __entry->vbv_buffer_size = s->vbv_buffer_size;
+                      __entry->profile_and_level_indication = 
s->profile_and_level_indication;
+                      __entry->chroma_format = s->chroma_format;
+                      __entry->flags = s->flags;),
        TP_printk("\nhorizontal_size %u\nvertical_size %u\nvbv_buffer_size %u\n"
                  "profile_and_level_indication %u\nchroma_format %u\nflags 
%s\n",
-                 __entry->s.horizontal_size,
-                 __entry->s.vertical_size,
-                 __entry->s.vbv_buffer_size,
-                 __entry->s.profile_and_level_indication,
-                 __entry->s.chroma_format,
-                 __print_flags(__entry->s.flags, "|",
+                 __entry->horizontal_size,
+                 __entry->vertical_size,
+                 __entry->vbv_buffer_size,
+                 __entry->profile_and_level_indication,
+                 __entry->chroma_format,
+                 __print_flags(__entry->flags, "|",
                  {V4L2_MPEG2_SEQ_FLAG_PROGRESSIVE, "PROGRESSIVE"})
        )
 );
@@ -1160,13 +1812,25 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_mpeg2_seq_tmpl,
 DECLARE_EVENT_CLASS(v4l2_ctrl_mpeg2_pic_tmpl,
        TP_PROTO(const struct v4l2_ctrl_mpeg2_picture *p),
        TP_ARGS(p),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_mpeg2_picture, p)),
-       TP_fast_assign(__entry->p = *p;),
+       TP_STRUCT__entry(__field(__u64, backward_ref_ts)
+                        __field(__u64, forward_ref_ts)
+                        __field(__u32, flags)
+                        __array(__u8, f_code, 4)
+                        __field(__u8, picture_coding_type)
+                        __field(__u8, picture_structure)
+                        __field(__u8, intra_dc_precision)),
+       TP_fast_assign(__entry->backward_ref_ts = p->backward_ref_ts;
+                      __entry->forward_ref_ts = p->forward_ref_ts;
+                      __entry->flags = p->flags;
+                      memcpy(__entry->f_code, p->f_code, 
sizeof(__entry->f_code));
+                      __entry->picture_coding_type = p->picture_coding_type;
+                      __entry->picture_structure = p->picture_structure;
+                      __entry->intra_dc_precision = p->intra_dc_precision;),
        TP_printk("\nbackward_ref_ts %llu\nforward_ref_ts %llu\nflags 
%s\nf_code {%s}\n"
                  "picture_coding_type: %u\npicture_structure 
%u\nintra_dc_precision %u\n",
-                 __entry->p.backward_ref_ts,
-                 __entry->p.forward_ref_ts,
-                 __print_flags(__entry->p.flags, "|",
+                 __entry->backward_ref_ts,
+                 __entry->forward_ref_ts,
+                 __print_flags(__entry->flags, "|",
                  {V4L2_MPEG2_PIC_FLAG_TOP_FIELD_FIRST, "TOP_FIELD_FIRST"},
                  {V4L2_MPEG2_PIC_FLAG_FRAME_PRED_DCT, "FRAME_PRED_DCT"},
                  {V4L2_MPEG2_PIC_FLAG_CONCEALMENT_MV, "CONCEALMENT_MV"},
@@ -1176,34 +1840,46 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_mpeg2_pic_tmpl,
                  {V4L2_MPEG2_PIC_FLAG_REPEAT_FIRST, "REPEAT_FIRST"},
                  {V4L2_MPEG2_PIC_FLAG_PROGRESSIVE, "PROGRESSIVE"}),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->p.f_code,
-                                  sizeof(__entry->p.f_code),
+                                  __entry->f_code,
+                                  sizeof(__entry->f_code),
                                   false),
-                 __entry->p.picture_coding_type,
-                 __entry->p.picture_structure,
-                 __entry->p.intra_dc_precision
+                 __entry->picture_coding_type,
+                 __entry->picture_structure,
+                 __entry->intra_dc_precision
        )
 );
 
 DECLARE_EVENT_CLASS(v4l2_ctrl_mpeg2_quant_tmpl,
        TP_PROTO(const struct v4l2_ctrl_mpeg2_quantisation *q),
        TP_ARGS(q),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_mpeg2_quantisation, 
q)),
-       TP_fast_assign(__entry->q = *q;),
+       TP_STRUCT__entry(__array(__u8, intra_quantiser_matrix, 64)
+                        __array(__u8, non_intra_quantiser_matrix, 64)
+                        __array(__u8, chroma_intra_quantiser_matrix, 64)
+                        __array(__u8, chroma_non_intra_quantiser_matrix, 64)),
+       TP_fast_assign(memcpy(__entry->intra_quantiser_matrix, 
q->intra_quantiser_matrix,
+                             sizeof(__entry->intra_quantiser_matrix));
+                      memcpy(__entry->non_intra_quantiser_matrix, 
q->non_intra_quantiser_matrix,
+                             sizeof(__entry->non_intra_quantiser_matrix));
+                      memcpy(__entry->chroma_intra_quantiser_matrix,
+                             q->chroma_intra_quantiser_matrix,
+                             sizeof(__entry->chroma_intra_quantiser_matrix));
+                      memcpy(__entry->chroma_non_intra_quantiser_matrix,
+                             q->chroma_non_intra_quantiser_matrix,
+                             
sizeof(__entry->chroma_non_intra_quantiser_matrix));),
        TP_printk("\nintra_quantiser_matrix %s\nnon_intra_quantiser_matrix %s\n"
                  "chroma_intra_quantiser_matrix 
%s\nchroma_non_intra_quantiser_matrix %s\n",
-                 __print_array(__entry->q.intra_quantiser_matrix,
-                               ARRAY_SIZE(__entry->q.intra_quantiser_matrix),
-                               sizeof(__entry->q.intra_quantiser_matrix[0])),
-                 __print_array(__entry->q.non_intra_quantiser_matrix,
-                               
ARRAY_SIZE(__entry->q.non_intra_quantiser_matrix),
-                               
sizeof(__entry->q.non_intra_quantiser_matrix[0])),
-                 __print_array(__entry->q.chroma_intra_quantiser_matrix,
-                               
ARRAY_SIZE(__entry->q.chroma_intra_quantiser_matrix),
-                               
sizeof(__entry->q.chroma_intra_quantiser_matrix[0])),
-                 __print_array(__entry->q.chroma_non_intra_quantiser_matrix,
-                               
ARRAY_SIZE(__entry->q.chroma_non_intra_quantiser_matrix),
-                               
sizeof(__entry->q.chroma_non_intra_quantiser_matrix[0]))
+                 __print_array(__entry->intra_quantiser_matrix,
+                               ARRAY_SIZE(__entry->intra_quantiser_matrix),
+                               sizeof(__entry->intra_quantiser_matrix[0])),
+                 __print_array(__entry->non_intra_quantiser_matrix,
+                               ARRAY_SIZE(__entry->non_intra_quantiser_matrix),
+                               sizeof(__entry->non_intra_quantiser_matrix[0])),
+                 __print_array(__entry->chroma_intra_quantiser_matrix,
+                               
ARRAY_SIZE(__entry->chroma_intra_quantiser_matrix),
+                               
sizeof(__entry->chroma_intra_quantiser_matrix[0])),
+                 __print_array(__entry->chroma_non_intra_quantiser_matrix,
+                               
ARRAY_SIZE(__entry->chroma_non_intra_quantiser_matrix),
+                               
sizeof(__entry->chroma_non_intra_quantiser_matrix[0]))
                  )
 )
 
@@ -1227,25 +1903,35 @@ DEFINE_EVENT(v4l2_ctrl_mpeg2_quant_tmpl, 
v4l2_ctrl_mpeg2_quantisation,
 DECLARE_EVENT_CLASS(v4l2_ctrl_vp8_entropy_tmpl,
        TP_PROTO(const struct v4l2_ctrl_vp8_frame *f),
        TP_ARGS(f),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_vp8_frame, f)),
-       TP_fast_assign(__entry->f = *f;),
+       TP_STRUCT__entry(__array(__u8, entropy_coeff_probs, 4 * 8 * 3 * 
V4L2_VP8_COEFF_PROB_CNT)
+                        __array(__u8, entropy_y_mode_probs, 4)
+                        __array(__u8, entropy_uv_mode_probs, 3)
+                        __array(__u8, entropy_mv_probs, 2 * 19)),
+       TP_fast_assign(memcpy(__entry->entropy_coeff_probs, 
f->entropy.coeff_probs,
+                             sizeof(__entry->entropy_coeff_probs));
+                      memcpy(__entry->entropy_y_mode_probs, 
f->entropy.y_mode_probs,
+                             sizeof(__entry->entropy_y_mode_probs));
+                      memcpy(__entry->entropy_uv_mode_probs, 
f->entropy.uv_mode_probs,
+                             sizeof(__entry->entropy_uv_mode_probs));
+                      memcpy(__entry->entropy_mv_probs, f->entropy.mv_probs,
+                             sizeof(__entry->entropy_mv_probs));),
        TP_printk("\nentropy.coeff_probs {%s}\n"
                  "entropy.y_mode_probs %s\n"
                  "entropy.uv_mode_probs %s\n"
                  "entropy.mv_probs {%s}",
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->f.entropy.coeff_probs,
-                                  sizeof(__entry->f.entropy.coeff_probs),
+                                  __entry->entropy_coeff_probs,
+                                  sizeof(__entry->entropy_coeff_probs),
                                   false),
-                 __print_array(__entry->f.entropy.y_mode_probs,
-                               ARRAY_SIZE(__entry->f.entropy.y_mode_probs),
-                               sizeof(__entry->f.entropy.y_mode_probs[0])),
-                 __print_array(__entry->f.entropy.uv_mode_probs,
-                               ARRAY_SIZE(__entry->f.entropy.uv_mode_probs),
-                               sizeof(__entry->f.entropy.uv_mode_probs[0])),
+                 __print_array(__entry->entropy_y_mode_probs,
+                               ARRAY_SIZE(__entry->entropy_y_mode_probs),
+                               sizeof(__entry->entropy_y_mode_probs[0])),
+                 __print_array(__entry->entropy_uv_mode_probs,
+                               ARRAY_SIZE(__entry->entropy_uv_mode_probs),
+                               sizeof(__entry->entropy_uv_mode_probs[0])),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->f.entropy.mv_probs,
-                                  sizeof(__entry->f.entropy.mv_probs),
+                                  __entry->entropy_mv_probs,
+                                  sizeof(__entry->entropy_mv_probs),
                                   false)
                  )
 )
@@ -1253,8 +1939,82 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp8_entropy_tmpl,
 DECLARE_EVENT_CLASS(v4l2_ctrl_vp8_frame_tmpl,
        TP_PROTO(const struct v4l2_ctrl_vp8_frame *f),
        TP_ARGS(f),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_vp8_frame, f)),
-       TP_fast_assign(__entry->f = *f;),
+       TP_STRUCT__entry(__array(__s8, segment_quant_update, 4)
+                        __array(__s8, segment_lf_update, 4)
+                        __array(__u8, segment_segment_probs, 3)
+                        __field(__u32, segment_flags)
+                        __array(__s8, lf_ref_frm_delta, 4)
+                        __array(__s8, lf_mb_mode_delta, 4)
+                        __field(__u8, lf_sharpness_level)
+                        __field(__u8, lf_level)
+                        __field(__u32, lf_flags)
+                        __field(__u8, quant_y_ac_qi)
+                        __field(__s8, quant_y_dc_delta)
+                        __field(__s8, quant_y2_dc_delta)
+                        __field(__s8, quant_y2_ac_delta)
+                        __field(__s8, quant_uv_dc_delta)
+                        __field(__s8, quant_uv_ac_delta)
+                        __field(__u8, coder_state_range)
+                        __field(__u8, coder_state_value)
+                        __field(__u8, coder_state_bit_count)
+                        __field(__u16, width)
+                        __field(__u16, height)
+                        __field(__u8, horizontal_scale)
+                        __field(__u8, vertical_scale)
+                        __field(__u8, version)
+                        __field(__u8, prob_skip_false)
+                        __field(__u8, prob_intra)
+                        __field(__u8, prob_last)
+                        __field(__u8, prob_gf)
+                        __field(__u8, num_dct_parts)
+                        __field(__u32, first_part_size)
+                        __field(__u32, first_part_header_bits)
+                        __array(__u32, dct_part_sizes, 8)
+                        __field(__u64, last_frame_ts)
+                        __field(__u64, golden_frame_ts)
+                        __field(__u64, alt_frame_ts)
+                        __field(__u64, flags)),
+       TP_fast_assign(memcpy(__entry->segment_quant_update, 
f->segment.quant_update,
+                             sizeof(__entry->segment_quant_update));
+                      memcpy(__entry->segment_lf_update, f->segment.lf_update,
+                             sizeof(__entry->segment_lf_update));
+                      memcpy(__entry->segment_segment_probs, 
f->segment.segment_probs,
+                             sizeof(__entry->segment_segment_probs));
+                      __entry->segment_flags = f->segment.flags;
+                      memcpy(__entry->lf_ref_frm_delta, f->lf.ref_frm_delta,
+                             sizeof(__entry->lf_ref_frm_delta));
+                      memcpy(__entry->lf_mb_mode_delta, f->lf.mb_mode_delta,
+                             sizeof(__entry->lf_mb_mode_delta));
+                      __entry->lf_sharpness_level = f->lf.sharpness_level;
+                      __entry->lf_level = f->lf.level;
+                      __entry->lf_flags = f->lf.flags;
+                      __entry->quant_y_ac_qi = f->quant.y_ac_qi;
+                      __entry->quant_y_dc_delta = f->quant.y_dc_delta;
+                      __entry->quant_y2_dc_delta = f->quant.y2_dc_delta;
+                      __entry->quant_y2_ac_delta = f->quant.y2_ac_delta;
+                      __entry->quant_uv_dc_delta = f->quant.uv_dc_delta;
+                      __entry->quant_uv_ac_delta = f->quant.uv_ac_delta;
+                      __entry->coder_state_range = f->coder_state.range;
+                      __entry->coder_state_value = f->coder_state.value;
+                      __entry->coder_state_bit_count = 
f->coder_state.bit_count;
+                      __entry->width = f->width;
+                      __entry->height = f->height;
+                      __entry->horizontal_scale = f->horizontal_scale;
+                      __entry->vertical_scale = f->vertical_scale;
+                      __entry->version = f->version;
+                      __entry->prob_skip_false = f->prob_skip_false;
+                      __entry->prob_intra = f->prob_intra;
+                      __entry->prob_last = f->prob_last;
+                      __entry->prob_gf = f->prob_gf;
+                      __entry->num_dct_parts = f->num_dct_parts;
+                      __entry->first_part_size = f->first_part_size;
+                      __entry->first_part_header_bits = 
f->first_part_header_bits;
+                      memcpy(__entry->dct_part_sizes, f->dct_part_sizes,
+                             sizeof(__entry->dct_part_sizes));
+                      __entry->last_frame_ts = f->last_frame_ts;
+                      __entry->golden_frame_ts = f->golden_frame_ts;
+                      __entry->alt_frame_ts = f->alt_frame_ts;
+                      __entry->flags = f->flags;),
        TP_printk("\nsegment.quant_update %s\n"
                  "segment.lf_update %s\n"
                  "segment.segment_probs %s\n"
@@ -1290,60 +2050,60 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp8_frame_tmpl,
                  "golden_frame_ts %llu\n"
                  "alt_frame_ts %llu\n"
                  "flags %s",
-                 __print_array(__entry->f.segment.quant_update,
-                               ARRAY_SIZE(__entry->f.segment.quant_update),
-                               sizeof(__entry->f.segment.quant_update[0])),
-                 __print_array(__entry->f.segment.lf_update,
-                               ARRAY_SIZE(__entry->f.segment.lf_update),
-                               sizeof(__entry->f.segment.lf_update[0])),
-                 __print_array(__entry->f.segment.segment_probs,
-                               ARRAY_SIZE(__entry->f.segment.segment_probs),
-                               sizeof(__entry->f.segment.segment_probs[0])),
-                 __print_flags(__entry->f.segment.flags, "|",
+                 __print_array(__entry->segment_quant_update,
+                               ARRAY_SIZE(__entry->segment_quant_update),
+                               sizeof(__entry->segment_quant_update[0])),
+                 __print_array(__entry->segment_lf_update,
+                               ARRAY_SIZE(__entry->segment_lf_update),
+                               sizeof(__entry->segment_lf_update[0])),
+                 __print_array(__entry->segment_segment_probs,
+                               ARRAY_SIZE(__entry->segment_segment_probs),
+                               sizeof(__entry->segment_segment_probs[0])),
+                 __print_flags(__entry->segment_flags, "|",
                  {V4L2_VP8_SEGMENT_FLAG_ENABLED, "SEGMENT_ENABLED"},
                  {V4L2_VP8_SEGMENT_FLAG_UPDATE_MAP, "SEGMENT_UPDATE_MAP"},
                  {V4L2_VP8_SEGMENT_FLAG_UPDATE_FEATURE_DATA, 
"SEGMENT_UPDATE_FEATURE_DATA"},
                  {V4L2_VP8_SEGMENT_FLAG_DELTA_VALUE_MODE, 
"SEGMENT_DELTA_VALUE_MODE"}),
-                 __print_array(__entry->f.lf.ref_frm_delta,
-                               ARRAY_SIZE(__entry->f.lf.ref_frm_delta),
-                               sizeof(__entry->f.lf.ref_frm_delta[0])),
-                 __print_array(__entry->f.lf.mb_mode_delta,
-                               ARRAY_SIZE(__entry->f.lf.mb_mode_delta),
-                               sizeof(__entry->f.lf.mb_mode_delta[0])),
-                 __entry->f.lf.sharpness_level,
-                 __entry->f.lf.level,
-                 __print_flags(__entry->f.lf.flags, "|",
+                 __print_array(__entry->lf_ref_frm_delta,
+                               ARRAY_SIZE(__entry->lf_ref_frm_delta),
+                               sizeof(__entry->lf_ref_frm_delta[0])),
+                 __print_array(__entry->lf_mb_mode_delta,
+                               ARRAY_SIZE(__entry->lf_mb_mode_delta),
+                               sizeof(__entry->lf_mb_mode_delta[0])),
+                 __entry->lf_sharpness_level,
+                 __entry->lf_level,
+                 __print_flags(__entry->lf_flags, "|",
                  {V4L2_VP8_LF_ADJ_ENABLE, "LF_ADJ_ENABLED"},
                  {V4L2_VP8_LF_DELTA_UPDATE, "LF_DELTA_UPDATE"},
                  {V4L2_VP8_LF_FILTER_TYPE_SIMPLE, "LF_FILTER_TYPE_SIMPLE"}),
-                 __entry->f.quant.y_ac_qi,
-                 __entry->f.quant.y_dc_delta,
-                 __entry->f.quant.y2_dc_delta,
-                 __entry->f.quant.y2_ac_delta,
-                 __entry->f.quant.uv_dc_delta,
-                 __entry->f.quant.uv_ac_delta,
-                 __entry->f.coder_state.range,
-                 __entry->f.coder_state.value,
-                 __entry->f.coder_state.bit_count,
-                 __entry->f.width,
-                 __entry->f.height,
-                 __entry->f.horizontal_scale,
-                 __entry->f.vertical_scale,
-                 __entry->f.version,
-                 __entry->f.prob_skip_false,
-                 __entry->f.prob_intra,
-                 __entry->f.prob_last,
-                 __entry->f.prob_gf,
-                 __entry->f.num_dct_parts,
-                 __entry->f.first_part_size,
-                 __entry->f.first_part_header_bits,
-                 __print_array(__entry->f.dct_part_sizes,
-                               ARRAY_SIZE(__entry->f.dct_part_sizes),
-                               sizeof(__entry->f.dct_part_sizes[0])),
-                 __entry->f.last_frame_ts,
-                 __entry->f.golden_frame_ts,
-                 __entry->f.alt_frame_ts,
-                 __print_flags(__entry->f.flags, "|",
+                 __entry->quant_y_ac_qi,
+                 __entry->quant_y_dc_delta,
+                 __entry->quant_y2_dc_delta,
+                 __entry->quant_y2_ac_delta,
+                 __entry->quant_uv_dc_delta,
+                 __entry->quant_uv_ac_delta,
+                 __entry->coder_state_range,
+                 __entry->coder_state_value,
+                 __entry->coder_state_bit_count,
+                 __entry->width,
+                 __entry->height,
+                 __entry->horizontal_scale,
+                 __entry->vertical_scale,
+                 __entry->version,
+                 __entry->prob_skip_false,
+                 __entry->prob_intra,
+                 __entry->prob_last,
+                 __entry->prob_gf,
+                 __entry->num_dct_parts,
+                 __entry->first_part_size,
+                 __entry->first_part_header_bits,
+                 __print_array(__entry->dct_part_sizes,
+                               ARRAY_SIZE(__entry->dct_part_sizes),
+                               sizeof(__entry->dct_part_sizes[0])),
+                 __entry->last_frame_ts,
+                 __entry->golden_frame_ts,
+                 __entry->alt_frame_ts,
+                 __print_flags(__entry->flags, "|",
                  {V4L2_VP8_FRAME_FLAG_KEY_FRAME, "KEY_FRAME"},
                  {V4L2_VP8_FRAME_FLAG_EXPERIMENTAL, "EXPERIMENTAL"},
                  {V4L2_VP8_FRAME_FLAG_SHOW_FRAME, "SHOW_FRAME"},
@@ -1368,8 +2128,78 @@ DEFINE_EVENT(v4l2_ctrl_vp8_entropy_tmpl, 
v4l2_ctrl_vp8_entropy,
 DECLARE_EVENT_CLASS(v4l2_ctrl_vp9_frame_tmpl,
        TP_PROTO(const struct v4l2_ctrl_vp9_frame *f),
        TP_ARGS(f),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_vp9_frame, f)),
-       TP_fast_assign(__entry->f = *f;),
+       TP_STRUCT__entry(__array(__s8, lf_ref_deltas, 4)
+                        __array(__s8, lf_mode_deltas, 2)
+                        __field(__u8, lf_level)
+                        __field(__u8, lf_sharpness)
+                        __field(__u8, lf_flags)
+                        __field(__u8, quant_base_q_idx)
+                        __field(__s8, quant_delta_q_y_dc)
+                        __field(__s8, quant_delta_q_uv_dc)
+                        __field(__s8, quant_delta_q_uv_ac)
+                        __array(__u8, seg_feature_data, sizeof(__s16) * 8 * 4)
+                        __array(__u8, seg_feature_enabled, 8)
+                        __array(__u8, seg_tree_probs, 7)
+                        __array(__u8, seg_pred_probs, 3)
+                        __field(__u8, seg_flags)
+                        __field(__u32, flags)
+                        __field(__u16, compressed_header_size)
+                        __field(__u16, uncompressed_header_size)
+                        __field(__u16, frame_width_minus_1)
+                        __field(__u16, frame_height_minus_1)
+                        __field(__u16, render_width_minus_1)
+                        __field(__u16, render_height_minus_1)
+                        __field(__u64, last_frame_ts)
+                        __field(__u64, golden_frame_ts)
+                        __field(__u64, alt_frame_ts)
+                        __field(__u8, ref_frame_sign_bias)
+                        __field(__u8, reset_frame_context)
+                        __field(__u8, frame_context_idx)
+                        __field(__u8, profile)
+                        __field(__u8, bit_depth)
+                        __field(__u8, interpolation_filter)
+                        __field(__u8, tile_cols_log2)
+                        __field(__u8, tile_rows_log2)
+                        __field(__u8, reference_mode)),
+       TP_fast_assign(memcpy(__entry->lf_ref_deltas, f->lf.ref_deltas,
+                             sizeof(__entry->lf_ref_deltas));
+                      memcpy(__entry->lf_mode_deltas, f->lf.mode_deltas,
+                             sizeof(__entry->lf_mode_deltas));
+                      __entry->lf_level = f->lf.level;
+                      __entry->lf_sharpness = f->lf.sharpness;
+                      __entry->lf_flags = f->lf.flags;
+                      __entry->quant_base_q_idx = f->quant.base_q_idx;
+                      __entry->quant_delta_q_y_dc = f->quant.delta_q_y_dc;
+                      __entry->quant_delta_q_uv_dc = f->quant.delta_q_uv_dc;
+                      __entry->quant_delta_q_uv_ac = f->quant.delta_q_uv_ac;
+                      memcpy(__entry->seg_feature_data, f->seg.feature_data,
+                             sizeof(__entry->seg_feature_data));
+                      memcpy(__entry->seg_feature_enabled, 
f->seg.feature_enabled,
+                             sizeof(__entry->seg_feature_enabled));
+                      memcpy(__entry->seg_tree_probs, f->seg.tree_probs,
+                             sizeof(__entry->seg_tree_probs));
+                      memcpy(__entry->seg_pred_probs, f->seg.pred_probs,
+                             sizeof(__entry->seg_pred_probs));
+                      __entry->seg_flags = f->seg.flags;
+                      __entry->flags = f->flags;
+                      __entry->compressed_header_size = 
f->compressed_header_size;
+                      __entry->uncompressed_header_size = 
f->uncompressed_header_size;
+                      __entry->frame_width_minus_1 = f->frame_width_minus_1;
+                      __entry->frame_height_minus_1 = f->frame_height_minus_1;
+                      __entry->render_width_minus_1 = f->render_width_minus_1;
+                      __entry->render_height_minus_1 = 
f->render_height_minus_1;
+                      __entry->last_frame_ts = f->last_frame_ts;
+                      __entry->golden_frame_ts = f->golden_frame_ts;
+                      __entry->alt_frame_ts = f->alt_frame_ts;
+                      __entry->ref_frame_sign_bias = f->ref_frame_sign_bias;
+                      __entry->reset_frame_context = f->reset_frame_context;
+                      __entry->frame_context_idx = f->frame_context_idx;
+                      __entry->profile = f->profile;
+                      __entry->bit_depth = f->bit_depth;
+                      __entry->interpolation_filter = f->interpolation_filter;
+                      __entry->tile_cols_log2 = f->tile_cols_log2;
+                      __entry->tile_rows_log2 = f->tile_rows_log2;
+                      __entry->reference_mode = f->reference_mode;),
        TP_printk("\nlf.ref_deltas %s\n"
                  "lf.mode_deltas %s\n"
                  "lf.level %u\n"
@@ -1403,41 +2233,41 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp9_frame_tmpl,
                  "tile_cols_log2 %u\n"
                  "tile_rows_log_2 %u\n"
                  "reference_mode %s\n",
-                 __print_array(__entry->f.lf.ref_deltas,
-                               ARRAY_SIZE(__entry->f.lf.ref_deltas),
-                               sizeof(__entry->f.lf.ref_deltas[0])),
-                 __print_array(__entry->f.lf.mode_deltas,
-                               ARRAY_SIZE(__entry->f.lf.mode_deltas),
-                               sizeof(__entry->f.lf.mode_deltas[0])),
-                 __entry->f.lf.level,
-                 __entry->f.lf.sharpness,
-                 __print_flags(__entry->f.lf.flags, "|",
+                 __print_array(__entry->lf_ref_deltas,
+                               ARRAY_SIZE(__entry->lf_ref_deltas),
+                               sizeof(__entry->lf_ref_deltas[0])),
+                 __print_array(__entry->lf_mode_deltas,
+                               ARRAY_SIZE(__entry->lf_mode_deltas),
+                               sizeof(__entry->lf_mode_deltas[0])),
+                 __entry->lf_level,
+                 __entry->lf_sharpness,
+                 __print_flags(__entry->lf_flags, "|",
                  {V4L2_VP9_LOOP_FILTER_FLAG_DELTA_ENABLED, "DELTA_ENABLED"},
                  {V4L2_VP9_LOOP_FILTER_FLAG_DELTA_UPDATE, "DELTA_UPDATE"}),
-                 __entry->f.quant.base_q_idx,
-                 __entry->f.quant.delta_q_y_dc,
-                 __entry->f.quant.delta_q_uv_dc,
-                 __entry->f.quant.delta_q_uv_ac,
+                 __entry->quant_base_q_idx,
+                 __entry->quant_delta_q_y_dc,
+                 __entry->quant_delta_q_uv_dc,
+                 __entry->quant_delta_q_uv_ac,
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->f.seg.feature_data,
-                                  sizeof(__entry->f.seg.feature_data),
+                                  __entry->seg_feature_data,
+                                  sizeof(__entry->seg_feature_data),
                                   false),
-                 __print_array(__entry->f.seg.feature_enabled,
-                               ARRAY_SIZE(__entry->f.seg.feature_enabled),
-                               sizeof(__entry->f.seg.feature_enabled[0])),
-                 __print_array(__entry->f.seg.tree_probs,
-                               ARRAY_SIZE(__entry->f.seg.tree_probs),
-                               sizeof(__entry->f.seg.tree_probs[0])),
-                 __print_array(__entry->f.seg.pred_probs,
-                               ARRAY_SIZE(__entry->f.seg.pred_probs),
-                               sizeof(__entry->f.seg.pred_probs[0])),
-                 __print_flags(__entry->f.seg.flags, "|",
+                 __print_array(__entry->seg_feature_enabled,
+                               ARRAY_SIZE(__entry->seg_feature_enabled),
+                               sizeof(__entry->seg_feature_enabled[0])),
+                 __print_array(__entry->seg_tree_probs,
+                               ARRAY_SIZE(__entry->seg_tree_probs),
+                               sizeof(__entry->seg_tree_probs[0])),
+                 __print_array(__entry->seg_pred_probs,
+                               ARRAY_SIZE(__entry->seg_pred_probs),
+                               sizeof(__entry->seg_pred_probs[0])),
+                 __print_flags(__entry->seg_flags, "|",
                  {V4L2_VP9_SEGMENTATION_FLAG_ENABLED, "ENABLED"},
                  {V4L2_VP9_SEGMENTATION_FLAG_UPDATE_MAP, "UPDATE_MAP"},
                  {V4L2_VP9_SEGMENTATION_FLAG_TEMPORAL_UPDATE, 
"TEMPORAL_UPDATE"},
                  {V4L2_VP9_SEGMENTATION_FLAG_UPDATE_DATA, "UPDATE_DATA"},
                  {V4L2_VP9_SEGMENTATION_FLAG_ABS_OR_DELTA_UPDATE, 
"ABS_OR_DELTA_UPDATE"}),
-                 __print_flags(__entry->f.flags, "|",
+                 __print_flags(__entry->flags, "|",
                  {V4L2_VP9_FRAME_FLAG_KEY_FRAME, "KEY_FRAME"},
                  {V4L2_VP9_FRAME_FLAG_SHOW_FRAME, "SHOW_FRAME"},
                  {V4L2_VP9_FRAME_FLAG_ERROR_RESILIENT, "ERROR_RESILIENT"},
@@ -1448,35 +2278,35 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp9_frame_tmpl,
                  {V4L2_VP9_FRAME_FLAG_X_SUBSAMPLING, "X_SUBSAMPLING"},
                  {V4L2_VP9_FRAME_FLAG_Y_SUBSAMPLING, "Y_SUBSAMPLING"},
                  {V4L2_VP9_FRAME_FLAG_COLOR_RANGE_FULL_SWING, 
"COLOR_RANGE_FULL_SWING"}),
-                 __entry->f.compressed_header_size,
-                 __entry->f.uncompressed_header_size,
-                 __entry->f.frame_width_minus_1,
-                 __entry->f.frame_height_minus_1,
-                 __entry->f.render_width_minus_1,
-                 __entry->f.render_height_minus_1,
-                 __entry->f.last_frame_ts,
-                 __entry->f.golden_frame_ts,
-                 __entry->f.alt_frame_ts,
-                 __print_symbolic(__entry->f.ref_frame_sign_bias,
+                 __entry->compressed_header_size,
+                 __entry->uncompressed_header_size,
+                 __entry->frame_width_minus_1,
+                 __entry->frame_height_minus_1,
+                 __entry->render_width_minus_1,
+                 __entry->render_height_minus_1,
+                 __entry->last_frame_ts,
+                 __entry->golden_frame_ts,
+                 __entry->alt_frame_ts,
+                 __print_symbolic(__entry->ref_frame_sign_bias,
                  {V4L2_VP9_SIGN_BIAS_LAST, "SIGN_BIAS_LAST"},
                  {V4L2_VP9_SIGN_BIAS_GOLDEN, "SIGN_BIAS_GOLDEN"},
                  {V4L2_VP9_SIGN_BIAS_ALT, "SIGN_BIAS_ALT"}),
-                 __print_symbolic(__entry->f.reset_frame_context,
+                 __print_symbolic(__entry->reset_frame_context,
                  {V4L2_VP9_RESET_FRAME_CTX_NONE, "RESET_FRAME_CTX_NONE"},
                  {V4L2_VP9_RESET_FRAME_CTX_SPEC, "RESET_FRAME_CTX_SPEC"},
                  {V4L2_VP9_RESET_FRAME_CTX_ALL, "RESET_FRAME_CTX_ALL"}),
-                 __entry->f.frame_context_idx,
-                 __entry->f.profile,
-                 __entry->f.bit_depth,
-                 __print_symbolic(__entry->f.interpolation_filter,
+                 __entry->frame_context_idx,
+                 __entry->profile,
+                 __entry->bit_depth,
+                 __print_symbolic(__entry->interpolation_filter,
                  {V4L2_VP9_INTERP_FILTER_EIGHTTAP, "INTERP_FILTER_EIGHTTAP"},
                  {V4L2_VP9_INTERP_FILTER_EIGHTTAP_SMOOTH, 
"INTERP_FILTER_EIGHTTAP_SMOOTH"},
                  {V4L2_VP9_INTERP_FILTER_EIGHTTAP_SHARP, 
"INTERP_FILTER_EIGHTTAP_SHARP"},
                  {V4L2_VP9_INTERP_FILTER_BILINEAR, "INTERP_FILTER_BILINEAR"},
                  {V4L2_VP9_INTERP_FILTER_SWITCHABLE, 
"INTERP_FILTER_SWITCHABLE"}),
-                 __entry->f.tile_cols_log2,
-                 __entry->f.tile_rows_log2,
-                 __print_symbolic(__entry->f.reference_mode,
+                 __entry->tile_cols_log2,
+                 __entry->tile_rows_log2,
+                 __print_symbolic(__entry->reference_mode,
                  {V4L2_VP9_REFERENCE_MODE_SINGLE_REFERENCE, 
"REFERENCE_MODE_SINGLE_REFERENCE"},
                  {V4L2_VP9_REFERENCE_MODE_COMPOUND_REFERENCE, 
"REFERENCE_MODE_COMPOUND_REFERENCE"},
                  {V4L2_VP9_REFERENCE_MODE_SELECT, "REFERENCE_MODE_SELECT"}))
@@ -1485,8 +2315,35 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp9_frame_tmpl,
 DECLARE_EVENT_CLASS(v4l2_ctrl_vp9_compressed_hdr_tmpl,
        TP_PROTO(const struct v4l2_ctrl_vp9_compressed_hdr *h),
        TP_ARGS(h),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_vp9_compressed_hdr, 
h)),
-       TP_fast_assign(__entry->h = *h;),
+       TP_STRUCT__entry(__field(__u8, tx_mode)
+                        __array(__u8, tx8, 2 * 1)
+                        __array(__u8, tx16, 2 * 2)
+                        __array(__u8, tx32, 2 * 3)
+                        __array(__u8, skip, 3)
+                        __array(__u8, inter_mode, 7 * 3)
+                        __array(__u8, interp_filter, 4 * 2)
+                        __array(__u8, is_inter, 4)
+                        __array(__u8, comp_mode, 5)
+                        __array(__u8, single_ref, 5 * 2)
+                        __array(__u8, comp_ref, 5)
+                        __array(__u8, y_mode, 4 * 9)
+                        __array(__u8, uv_mode, 10 * 9)
+                        __array(__u8, partition, 16 * 3)),
+       TP_fast_assign(__entry->tx_mode = h->tx_mode;
+                      memcpy(__entry->tx8, h->tx8, sizeof(__entry->tx8));
+                      memcpy(__entry->tx16, h->tx16, sizeof(__entry->tx16));
+                      memcpy(__entry->tx32, h->tx32, sizeof(__entry->tx32));
+                      memcpy(__entry->skip, h->skip, sizeof(__entry->skip));
+                      memcpy(__entry->inter_mode, h->inter_mode, 
sizeof(__entry->inter_mode));
+                      memcpy(__entry->interp_filter, h->interp_filter,
+                             sizeof(__entry->interp_filter));
+                      memcpy(__entry->is_inter, h->is_inter, 
sizeof(__entry->is_inter));
+                      memcpy(__entry->comp_mode, h->comp_mode, 
sizeof(__entry->comp_mode));
+                      memcpy(__entry->single_ref, h->single_ref, 
sizeof(__entry->single_ref));
+                      memcpy(__entry->comp_ref, h->comp_ref, 
sizeof(__entry->comp_ref));
+                      memcpy(__entry->y_mode, h->y_mode, 
sizeof(__entry->y_mode));
+                      memcpy(__entry->uv_mode, h->uv_mode, 
sizeof(__entry->uv_mode));
+                      memcpy(__entry->partition, h->partition, 
sizeof(__entry->partition));),
        TP_printk("\ntx_mode %s\n"
                  "tx8 {%s}\n"
                  "tx16 {%s}\n"
@@ -1501,59 +2358,59 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp9_compressed_hdr_tmpl,
                  "y_mode {%s}\n"
                  "uv_mode {%s}\n"
                  "partition {%s}\n",
-                 __print_symbolic(__entry->h.tx_mode,
+                 __print_symbolic(__entry->tx_mode,
                  {V4L2_VP9_TX_MODE_ONLY_4X4, "TX_MODE_ONLY_4X4"},
                  {V4L2_VP9_TX_MODE_ALLOW_8X8, "TX_MODE_ALLOW_8X8"},
                  {V4L2_VP9_TX_MODE_ALLOW_16X16, "TX_MODE_ALLOW_16X16"},
                  {V4L2_VP9_TX_MODE_ALLOW_32X32, "TX_MODE_ALLOW_32X32"},
                  {V4L2_VP9_TX_MODE_SELECT, "TX_MODE_SELECT"}),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->h.tx8,
-                                  sizeof(__entry->h.tx8),
+                                  __entry->tx8,
+                                  sizeof(__entry->tx8),
                                   false),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->h.tx16,
-                                  sizeof(__entry->h.tx16),
+                                  __entry->tx16,
+                                  sizeof(__entry->tx16),
                                   false),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->h.tx32,
-                                  sizeof(__entry->h.tx32),
+                                  __entry->tx32,
+                                  sizeof(__entry->tx32),
                                   false),
-                 __print_array(__entry->h.skip,
-                               ARRAY_SIZE(__entry->h.skip),
-                               sizeof(__entry->h.skip[0])),
+                 __print_array(__entry->skip,
+                               ARRAY_SIZE(__entry->skip),
+                               sizeof(__entry->skip[0])),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->h.inter_mode,
-                                  sizeof(__entry->h.inter_mode),
+                                  __entry->inter_mode,
+                                  sizeof(__entry->inter_mode),
                                   false),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->h.interp_filter,
-                                  sizeof(__entry->h.interp_filter),
+                                  __entry->interp_filter,
+                                  sizeof(__entry->interp_filter),
                                   false),
-                 __print_array(__entry->h.is_inter,
-                               ARRAY_SIZE(__entry->h.is_inter),
-                               sizeof(__entry->h.is_inter[0])),
-                 __print_array(__entry->h.comp_mode,
-                               ARRAY_SIZE(__entry->h.comp_mode),
-                               sizeof(__entry->h.comp_mode[0])),
+                 __print_array(__entry->is_inter,
+                               ARRAY_SIZE(__entry->is_inter),
+                               sizeof(__entry->is_inter[0])),
+                 __print_array(__entry->comp_mode,
+                               ARRAY_SIZE(__entry->comp_mode),
+                               sizeof(__entry->comp_mode[0])),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->h.single_ref,
-                                  sizeof(__entry->h.single_ref),
+                                  __entry->single_ref,
+                                  sizeof(__entry->single_ref),
                                   false),
-                 __print_array(__entry->h.comp_ref,
-                               ARRAY_SIZE(__entry->h.comp_ref),
-                               sizeof(__entry->h.comp_ref[0])),
+                 __print_array(__entry->comp_ref,
+                               ARRAY_SIZE(__entry->comp_ref),
+                               sizeof(__entry->comp_ref[0])),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->h.y_mode,
-                                  sizeof(__entry->h.y_mode),
+                                  __entry->y_mode,
+                                  sizeof(__entry->y_mode),
                                   false),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->h.uv_mode,
-                                  sizeof(__entry->h.uv_mode),
+                                  __entry->uv_mode,
+                                  sizeof(__entry->uv_mode),
                                   false),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->h.partition,
-                                  sizeof(__entry->h.partition),
+                                  __entry->partition,
+                                  sizeof(__entry->partition),
                                   false)
        )
 );
@@ -1561,12 +2418,12 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp9_compressed_hdr_tmpl,
 DECLARE_EVENT_CLASS(v4l2_ctrl_vp9_compressed_coef_tmpl,
        TP_PROTO(const struct v4l2_ctrl_vp9_compressed_hdr *h),
        TP_ARGS(h),
-       TP_STRUCT__entry(__field_struct(struct v4l2_ctrl_vp9_compressed_hdr, 
h)),
-       TP_fast_assign(__entry->h = *h;),
+       TP_STRUCT__entry(__array(__u8, coef, 4 * 2 * 2 * 6 * 6 * 3)),
+       TP_fast_assign(memcpy(__entry->coef, h->coef, sizeof(__entry->coef));),
        TP_printk("\n coef {%s}",
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->h.coef,
-                                  sizeof(__entry->h.coef),
+                                  __entry->coef,
+                                  sizeof(__entry->coef),
                                   false)
        )
 );
@@ -1574,8 +2431,24 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp9_compressed_coef_tmpl,
 DECLARE_EVENT_CLASS(v4l2_vp9_mv_probs_tmpl,
        TP_PROTO(const struct v4l2_vp9_mv_probs *p),
        TP_ARGS(p),
-       TP_STRUCT__entry(__field_struct(struct v4l2_vp9_mv_probs, p)),
-       TP_fast_assign(__entry->p = *p;),
+       TP_STRUCT__entry(__array(__u8, joint, 3)
+                        __array(__u8, sign, 2)
+                        __array(__u8, classes, 2 * 10)
+                        __array(__u8, class0_bit, 2)
+                        __array(__u8, bits, 2 * 10)
+                        __array(__u8, class0_fr, 2 * 2 * 3)
+                        __array(__u8, fr, 2 * 3)
+                        __array(__u8, class0_hp, 2)
+                        __array(__u8, hp, 2)),
+       TP_fast_assign(memcpy(__entry->joint, p->joint, sizeof(__entry->joint));
+                      memcpy(__entry->sign, p->sign, sizeof(__entry->sign));
+                      memcpy(__entry->classes, p->classes, 
sizeof(__entry->classes));
+                      memcpy(__entry->class0_bit, p->class0_bit, 
sizeof(__entry->class0_bit));
+                      memcpy(__entry->bits, p->bits, sizeof(__entry->bits));
+                      memcpy(__entry->class0_fr, p->class0_fr, 
sizeof(__entry->class0_fr));
+                      memcpy(__entry->fr, p->fr, sizeof(__entry->fr));
+                      memcpy(__entry->class0_hp, p->class0_hp, 
sizeof(__entry->class0_hp));
+                      memcpy(__entry->hp, p->hp, sizeof(__entry->hp));),
        TP_printk("\n joint %s\n"
                  "sign %s\n"
                  "classes {%s}\n"
@@ -1585,37 +2458,37 @@ DECLARE_EVENT_CLASS(v4l2_vp9_mv_probs_tmpl,
                  "fr {%s}\n"
                  "class0_hp %s\n"
                  "hp %s\n",
-                 __print_array(__entry->p.joint,
-                               ARRAY_SIZE(__entry->p.joint),
-                               sizeof(__entry->p.joint[0])),
-                 __print_array(__entry->p.sign,
-                               ARRAY_SIZE(__entry->p.sign),
-                               sizeof(__entry->p.sign[0])),
+                 __print_array(__entry->joint,
+                               ARRAY_SIZE(__entry->joint),
+                               sizeof(__entry->joint[0])),
+                 __print_array(__entry->sign,
+                               ARRAY_SIZE(__entry->sign),
+                               sizeof(__entry->sign[0])),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->p.classes,
-                                  sizeof(__entry->p.classes),
+                                  __entry->classes,
+                                  sizeof(__entry->classes),
                                   false),
-                 __print_array(__entry->p.class0_bit,
-                               ARRAY_SIZE(__entry->p.class0_bit),
-                               sizeof(__entry->p.class0_bit[0])),
+                 __print_array(__entry->class0_bit,
+                               ARRAY_SIZE(__entry->class0_bit),
+                               sizeof(__entry->class0_bit[0])),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->p.bits,
-                                  sizeof(__entry->p.bits),
+                                  __entry->bits,
+                                  sizeof(__entry->bits),
                                   false),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->p.class0_fr,
-                                  sizeof(__entry->p.class0_fr),
+                                  __entry->class0_fr,
+                                  sizeof(__entry->class0_fr),
                                   false),
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
-                                  __entry->p.fr,
-                                  sizeof(__entry->p.fr),
+                                  __entry->fr,
+                                  sizeof(__entry->fr),
                                   false),
-                 __print_array(__entry->p.class0_hp,
-                               ARRAY_SIZE(__entry->p.class0_hp),
-                               sizeof(__entry->p.class0_hp[0])),
-                 __print_array(__entry->p.hp,
-                               ARRAY_SIZE(__entry->p.hp),
-                               sizeof(__entry->p.hp[0]))
+                 __print_array(__entry->class0_hp,
+                               ARRAY_SIZE(__entry->class0_hp),
+                               sizeof(__entry->class0_hp[0])),
+                 __print_array(__entry->hp,
+                               ARRAY_SIZE(__entry->hp),
+                               sizeof(__entry->hp[0]))
        )
 );
 

-- 
2.54.0



Reply via email to