With these fields, userspace can better track which trace event matches
with a given stream.

Even though the trace shows the PID (based on current->tgid), trace
functions could be called from other contexts, therefore showing the wrong
PID, or none at all.

These will ensure that the trace event can be matched with the PID/FD that
opened and configured the video device file.

Signed-off-by: Detlev Casanova <[email protected]>
Reviewed-by: Nicolas Dufresne <[email protected]>
---
 drivers/media/test-drivers/visl/visl-dec.c |  68 ++--
 include/trace/events/v4l2_controls.h       | 628 +++++++++++++++++++----------
 2 files changed, 445 insertions(+), 251 deletions(-)

diff --git a/drivers/media/test-drivers/visl/visl-dec.c 
b/drivers/media/test-drivers/visl/visl-dec.c
index 1c66a1b8d78f..2a065a6249ad 100644
--- a/drivers/media/test-drivers/visl/visl-dec.c
+++ b/drivers/media/test-drivers/visl/visl-dec.c
@@ -489,67 +489,71 @@ static void visl_tpg_fill(struct visl_ctx *ctx, struct 
visl_run *run)
 static void visl_trace_ctrls(struct visl_ctx *ctx, struct visl_run *run)
 {
        int i;
+       struct v4l2_fh *fh = &ctx->fh;
 
        switch (ctx->current_codec) {
        default:
        case VISL_CODEC_NONE:
                break;
        case VISL_CODEC_FWHT:
-               trace_v4l2_ctrl_fwht_params(run->fwht.params);
+               trace_v4l2_ctrl_fwht_params(fh->tgid, fh->fd, run->fwht.params);
                break;
        case VISL_CODEC_MPEG2:
-               trace_v4l2_ctrl_mpeg2_sequence(run->mpeg2.seq);
-               trace_v4l2_ctrl_mpeg2_picture(run->mpeg2.pic);
-               trace_v4l2_ctrl_mpeg2_quantisation(run->mpeg2.quant);
+               trace_v4l2_ctrl_mpeg2_sequence(fh->tgid, fh->fd, 
run->mpeg2.seq);
+               trace_v4l2_ctrl_mpeg2_picture(fh->tgid, fh->fd, run->mpeg2.pic);
+               trace_v4l2_ctrl_mpeg2_quantisation(fh->tgid, fh->fd, 
run->mpeg2.quant);
                break;
        case VISL_CODEC_VP8:
-               trace_v4l2_ctrl_vp8_frame(run->vp8.frame);
-               trace_v4l2_ctrl_vp8_entropy(run->vp8.frame);
+               trace_v4l2_ctrl_vp8_frame(fh->tgid, fh->fd, run->vp8.frame);
+               trace_v4l2_ctrl_vp8_entropy(fh->tgid, fh->fd, run->vp8.frame);
                break;
        case VISL_CODEC_VP9:
-               trace_v4l2_ctrl_vp9_frame(run->vp9.frame);
-               trace_v4l2_ctrl_vp9_compressed_hdr(run->vp9.probs);
-               trace_v4l2_ctrl_vp9_compressed_coeff(run->vp9.probs);
-               trace_v4l2_vp9_mv_probs(&run->vp9.probs->mv);
+               trace_v4l2_ctrl_vp9_frame(fh->tgid, fh->fd, run->vp9.frame);
+               trace_v4l2_ctrl_vp9_compressed_hdr(fh->tgid, fh->fd, 
run->vp9.probs);
+               trace_v4l2_ctrl_vp9_compressed_coeff(fh->tgid, fh->fd, 
run->vp9.probs);
+               trace_v4l2_vp9_mv_probs(fh->tgid, fh->fd, &run->vp9.probs->mv);
                break;
        case VISL_CODEC_H264:
-               trace_v4l2_ctrl_h264_sps(run->h264.sps);
-               trace_v4l2_ctrl_h264_pps(run->h264.pps);
-               trace_v4l2_ctrl_h264_scaling_matrix(run->h264.sm);
-               trace_v4l2_ctrl_h264_slice_params(run->h264.spram);
+               trace_v4l2_ctrl_h264_sps(fh->tgid, fh->fd, run->h264.sps);
+               trace_v4l2_ctrl_h264_pps(fh->tgid, fh->fd, run->h264.pps);
+               trace_v4l2_ctrl_h264_scaling_matrix(fh->tgid, fh->fd, 
run->h264.sm);
+               trace_v4l2_ctrl_h264_slice_params(fh->tgid, fh->fd, 
run->h264.spram);
 
                for (i = 0; i < ARRAY_SIZE(run->h264.spram->ref_pic_list0); i++)
-                       
trace_v4l2_h264_ref_pic_list0(&run->h264.spram->ref_pic_list0[i], i);
+                       trace_v4l2_h264_ref_pic_list0(fh->tgid, fh->fd,
+                                                     
&run->h264.spram->ref_pic_list0[i], i);
                for (i = 0; i < ARRAY_SIZE(run->h264.spram->ref_pic_list0); i++)
-                       
trace_v4l2_h264_ref_pic_list1(&run->h264.spram->ref_pic_list1[i], i);
+                       trace_v4l2_h264_ref_pic_list1(fh->tgid, fh->fd,
+                                                     
&run->h264.spram->ref_pic_list1[i], i);
 
-               trace_v4l2_ctrl_h264_decode_params(run->h264.dpram);
+               trace_v4l2_ctrl_h264_decode_params(fh->tgid, fh->fd, 
run->h264.dpram);
 
                for (i = 0; i < ARRAY_SIZE(run->h264.dpram->dpb); i++)
-                       trace_v4l2_h264_dpb_entry(&run->h264.dpram->dpb[i], i);
+                       trace_v4l2_h264_dpb_entry(fh->tgid, fh->fd, 
&run->h264.dpram->dpb[i], i);
 
-               trace_v4l2_ctrl_h264_pred_weights(run->h264.pwht);
+               trace_v4l2_ctrl_h264_pred_weights(fh->tgid, fh->fd, 
run->h264.pwht);
                break;
        case VISL_CODEC_HEVC:
-               trace_v4l2_ctrl_hevc_sps(run->hevc.sps);
-               trace_v4l2_ctrl_hevc_pps(run->hevc.pps);
-               trace_v4l2_ctrl_hevc_slice_params(run->hevc.spram);
-               trace_v4l2_ctrl_hevc_scaling_matrix(run->hevc.sm);
-               trace_v4l2_ctrl_hevc_decode_params(run->hevc.dpram);
+               trace_v4l2_ctrl_hevc_sps(fh->tgid, fh->fd, run->hevc.sps);
+               trace_v4l2_ctrl_hevc_pps(fh->tgid, fh->fd, run->hevc.pps);
+               trace_v4l2_ctrl_hevc_slice_params(fh->tgid, fh->fd, 
run->hevc.spram);
+               trace_v4l2_ctrl_hevc_scaling_matrix(fh->tgid, fh->fd, 
run->hevc.sm);
+               trace_v4l2_ctrl_hevc_decode_params(fh->tgid, fh->fd, 
run->hevc.dpram);
 
                for (i = 0; i < ARRAY_SIZE(run->hevc.dpram->dpb); i++)
-                       trace_v4l2_hevc_dpb_entry(&run->hevc.dpram->dpb[i]);
+                       trace_v4l2_hevc_dpb_entry(fh->tgid, fh->fd, 
&run->hevc.dpram->dpb[i]);
 
-               
trace_v4l2_hevc_pred_weight_table(&run->hevc.spram->pred_weight_table);
-               trace_v4l2_ctrl_hevc_ext_sps_lt_rps(run->hevc.rps_lt);
-               trace_v4l2_ctrl_hevc_ext_sps_st_rps(run->hevc.rps_st);
 
+               trace_v4l2_hevc_pred_weight_table(fh->tgid, fh->fd,
+                                                 
&run->hevc.spram->pred_weight_table);
+               trace_v4l2_ctrl_hevc_ext_sps_lt_rps(fh->tgid, fh->fd, 
run->hevc.rps_lt);
+               trace_v4l2_ctrl_hevc_ext_sps_st_rps(fh->tgid, fh->fd, 
run->hevc.rps_st);
                break;
        case VISL_CODEC_AV1:
-               trace_v4l2_ctrl_av1_sequence(run->av1.seq);
-               trace_v4l2_ctrl_av1_frame(run->av1.frame);
-               trace_v4l2_ctrl_av1_film_grain(run->av1.grain);
-               trace_v4l2_ctrl_av1_tile_group_entry(run->av1.tge);
+               trace_v4l2_ctrl_av1_sequence(fh->tgid, fh->fd, run->av1.seq);
+               trace_v4l2_ctrl_av1_frame(fh->tgid, fh->fd, run->av1.frame);
+               trace_v4l2_ctrl_av1_film_grain(fh->tgid, fh->fd, 
run->av1.grain);
+               trace_v4l2_ctrl_av1_tile_group_entry(fh->tgid, fh->fd, 
run->av1.tge);
                break;
        }
 }
diff --git a/include/trace/events/v4l2_controls.h 
b/include/trace/events/v4l2_controls.h
index 3a9bc75752bf..a7c61c36a025 100644
--- a/include/trace/events/v4l2_controls.h
+++ b/include/trace/events/v4l2_controls.h
@@ -14,27 +14,39 @@
  * 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.
  *
+ * In addition to the controls fields, tgid and fd are also added in each 
trace events.
+ * This allows to identify controls set by a specific process and to match 
them with other events
+ * from the same process.
+ * tgid contains the process id that opened the video device.
+ * fd is the file descriptor in the tgid, used in case a process opens 
multiple video devices.
+ *
  * 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(__u32, flags)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_av1_sequence *s),
+       TP_ARGS(tgid, fd, s),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __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;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\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",
+                 __entry->tgid, __entry->fd,
                  __print_flags(__entry->flags, "|",
                  {V4L2_AV1_SEQUENCE_FLAG_STILL_PICTURE, "STILL_PICTURE"},
                  {V4L2_AV1_SEQUENCE_FLAG_USE_128X128_SUPERBLOCK, 
"USE_128X128_SUPERBLOCK"},
@@ -65,17 +77,23 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_av1_seq_tmpl,
 );
 
 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(__u32, tile_offset)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_av1_tile_group_entry 
*t),
+       TP_ARGS(tgid, fd, t),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __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;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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",
+       TP_printk("tgid = %u, fd = %u, "
+                 "\ntile_offset: %u\n tile_size: %u\n tile_row: %u\ntile_col: 
%u\n",
+                 __entry->tgid, __entry->fd,
                  __entry->tile_offset,
                  __entry->tile_size,
                  __entry->tile_row,
@@ -84,9 +102,11 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_av1_tge_tmpl,
 );
 
 DECLARE_EVENT_CLASS(v4l2_ctrl_av1_frame_tmpl,
-       TP_PROTO(const struct v4l2_ctrl_av1_frame *f),
-       TP_ARGS(f),
-       TP_STRUCT__entry(__field(u8, tile_info_flags)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_av1_frame *f),
+       TP_ARGS(tgid, fd, f),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __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)
@@ -144,7 +164,9 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_av1_frame_tmpl,
                         __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;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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;
@@ -226,7 +248,8 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_av1_frame_tmpl,
                       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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\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"
                  "tile_info.width_in_sbs_minus_1: 
%s\ntile_info.height_in_sbs_minus_1: %s\n"
@@ -250,6 +273,7 @@ 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",
+                 __entry->tgid, __entry->fd,
                  __print_flags(__entry->tile_info_flags, "|",
                  {V4L2_AV1_TILE_INFO_FLAG_UNIFORM_TILE_SPACING, 
"UNIFORM_TILE_SPACING"}),
                  __entry->tile_info_context_update_tile_id,
@@ -385,9 +409,11 @@ 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(__u8, flags)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_av1_film_grain *f),
+       TP_ARGS(tgid, fd, f),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __field(__u8, flags)
                         __field(__u8, cr_mult)
                         __field(__u16, grain_seed)
                         __field(__u8, film_grain_params_ref_idx)
@@ -412,7 +438,9 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_av1_film_grain_tmpl,
                         __field(__u8, cr_luma_mult)
                         __field(__u16, cb_offset)
                         __field(__u16, cr_offset)),
-       TP_fast_assign(__entry->flags = f->flags;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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;
@@ -446,7 +474,8 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_av1_film_grain_tmpl,
                       __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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\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"
                  "point_cb_scaling: %s\nnum_cr_points: %u\npoint_cr_value: 
%s\n"
@@ -455,6 +484,7 @@ 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",
+                 __entry->tgid, __entry->fd,
                  __print_flags(__entry->flags, "|",
                  {V4L2_AV1_FILM_GRAIN_FLAG_APPLY_GRAIN, "APPLY_GRAIN"},
                  {V4L2_AV1_FILM_GRAIN_FLAG_UPDATE_GRAIN, "UPDATE_GRAIN"},
@@ -507,31 +537,32 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_av1_film_grain_tmpl,
 )
 
 DEFINE_EVENT(v4l2_ctrl_av1_seq_tmpl, v4l2_ctrl_av1_sequence,
-       TP_PROTO(const struct v4l2_ctrl_av1_sequence *s),
-       TP_ARGS(s)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_av1_sequence *s),
+       TP_ARGS(tgid, fd, s)
 );
 
 DEFINE_EVENT(v4l2_ctrl_av1_frame_tmpl, v4l2_ctrl_av1_frame,
-       TP_PROTO(const struct v4l2_ctrl_av1_frame *f),
-       TP_ARGS(f)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_av1_frame *f),
+       TP_ARGS(tgid, fd, f)
 );
 
 DEFINE_EVENT(v4l2_ctrl_av1_tge_tmpl, v4l2_ctrl_av1_tile_group_entry,
-       TP_PROTO(const struct v4l2_ctrl_av1_tile_group_entry *t),
-       TP_ARGS(t)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_av1_tile_group_entry 
*t),
+       TP_ARGS(tgid, fd, t)
 );
 
 DEFINE_EVENT(v4l2_ctrl_av1_film_grain_tmpl, v4l2_ctrl_av1_film_grain,
-       TP_PROTO(const struct v4l2_ctrl_av1_film_grain *f),
-       TP_ARGS(f)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_av1_film_grain *f),
+       TP_ARGS(tgid, fd, f)
 );
 
 /* FWHT controls */
 
 DECLARE_EVENT_CLASS(v4l2_ctrl_fwht_params_tmpl,
-       TP_PROTO(const struct v4l2_ctrl_fwht_params *p),
-       TP_ARGS(p),
-       TP_STRUCT__entry(
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_fwht_params *p),
+       TP_ARGS(tgid, fd, p),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
                         __field(u64, backward_ref_ts)
                         __field(u32, version)
                         __field(u32, width)
@@ -542,7 +573,8 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_fwht_params_tmpl,
                         __field(u32, ycbcr_enc)
                         __field(u32, quantization)
                         ),
-       TP_fast_assign(
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
                       __entry->backward_ref_ts = p->backward_ref_ts;
                       __entry->version = p->version;
                       __entry->width = p->width;
@@ -553,8 +585,10 @@ 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 "
+       TP_printk("tgid = %u, fd = %u, "
+                 "backward_ref_ts %llu version %u width %u height %u flags %s 
colorspace %u "
                  "xfer_func %u ycbcr_enc %u quantization %u",
+                 __entry->tgid, __entry->fd,
                  __entry->backward_ref_ts, __entry->version, __entry->width, 
__entry->height,
                  __print_flags(__entry->flags, "|",
                  {V4L2_FWHT_FL_IS_INTERLACED, "IS_INTERLACED"},
@@ -574,16 +608,18 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_fwht_params_tmpl,
 );
 
 DEFINE_EVENT(v4l2_ctrl_fwht_params_tmpl, v4l2_ctrl_fwht_params,
-       TP_PROTO(const struct v4l2_ctrl_fwht_params *p),
-       TP_ARGS(p)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_fwht_params *p),
+       TP_ARGS(tgid, fd, p)
 );
 
 /* H264 controls */
 
 DECLARE_EVENT_CLASS(v4l2_ctrl_h264_sps_tmpl,
-       TP_PROTO(const struct v4l2_ctrl_h264_sps *s),
-       TP_ARGS(s),
-       TP_STRUCT__entry(__field(u8, profile_idc)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_h264_sps *s),
+       TP_ARGS(tgid, fd, s),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __field(u8, profile_idc)
                         __field(u8, constraint_set_flags)
                         __field(u8, level_idc)
                         __field(u8, seq_parameter_set_id)
@@ -601,7 +637,9 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_sps_tmpl,
                         __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;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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;
@@ -622,7 +660,8 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_sps_tmpl,
                       __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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\nprofile_idc %u\n"
                  "constraint_set_flags %s\n"
                  "level_idc %u\n"
                  "seq_parameter_set_id %u\n"
@@ -640,6 +679,7 @@ 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->tgid, __entry->fd,
                  __entry->profile_idc,
                  __print_flags(__entry->constraint_set_flags, "|",
                  {V4L2_H264_SPS_CONSTRAINT_SET0_FLAG, "CONSTRAINT_SET0_FLAG"},
@@ -679,9 +719,11 @@ 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(u8, pic_parameter_set_id)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_h264_pps *p),
+       TP_ARGS(tgid, fd, p),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __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)
@@ -692,7 +734,9 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_pps_tmpl,
                         __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;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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 =
@@ -705,7 +749,8 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_pps_tmpl,
                       __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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\npic_parameter_set_id %u\n"
                  "seq_parameter_set_id %u\n"
                  "num_slice_groups_minus1 %u\n"
                  "num_ref_idx_l0_default_active_minus1 %u\n"
@@ -716,6 +761,7 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_pps_tmpl,
                  "chroma_qp_index_offset %d\n"
                  "second_chroma_qp_index_offset %d\n"
                  "flags %s",
+                 __entry->tgid, __entry->fd,
                  __entry->pic_parameter_set_id,
                  __entry->seq_parameter_set_id,
                  __entry->num_slice_groups_minus1,
@@ -741,15 +787,21 @@ 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(__array(u8, scaling_list_4x4, 6 * 16)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_h264_scaling_matrix 
*s),
+       TP_ARGS(tgid, fd, s),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __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,
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      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}",
+       TP_printk("tgid = %u, fd = %u, "
+                 "\nscaling_list_4x4 {%s}\nscaling_list_8x8 {%s}",
+                 __entry->tgid, __entry->fd,
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
                                   __entry->scaling_list_4x4,
                                   sizeof(__entry->scaling_list_4x4),
@@ -762,9 +814,11 @@ 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(u16, luma_log2_weight_denom)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_h264_pred_weights *p),
+       TP_ARGS(tgid, fd, p),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __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)
@@ -774,7 +828,9 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_pred_weights_tmpl,
                         __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;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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,
@@ -800,7 +856,8 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_pred_weights_tmpl,
                       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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\nluma_log2_weight_denom %u\n"
                  "chroma_log2_weight_denom %u\n"
                  "weight_factor[0].luma_weight %s\n"
                  "weight_factor[0].luma_offset %s\n"
@@ -810,6 +867,7 @@ 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->tgid, __entry->fd,
                  __entry->luma_log2_weight_denom,
                  __entry->chroma_log2_weight_denom,
                  __print_array(__entry->weight_factors_0_luma_weight,
@@ -844,9 +902,11 @@ 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(u32, header_bit_size)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_h264_slice_params *s),
+       TP_ARGS(tgid, fd, s),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __field(u32, header_bit_size)
                         __field(u32, first_mb_in_slice)
                         __field(u8, slice_type)
                         __field(u8, colour_plane_id)
@@ -860,7 +920,9 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_slice_params_tmpl,
                         __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;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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;
@@ -874,7 +936,8 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_slice_params_tmpl,
                       __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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\nheader_bit_size %u\n"
                  "first_mb_in_slice %u\n"
                  "slice_type %s\n"
                  "colour_plane_id %u\n"
@@ -888,6 +951,7 @@ 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->tgid, __entry->fd,
                  __entry->header_bit_size,
                  __entry->first_mb_in_slice,
                  __print_symbolic(__entry->slice_type,
@@ -913,15 +977,21 @@ 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(u8, fields)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_h264_reference *r, int i),
+       TP_ARGS(tgid, fd, r, i),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __field(u8, fields)
                         __field(u8, index)
                         __field(int, i)),
-       TP_fast_assign(__entry->fields = r->fields;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __entry->fields = r->fields;
                       __entry->index = r->index;
                       __entry->i = i;),
-       TP_printk("[%d]: fields %s index %u",
+       TP_printk("tgid = %u, fd = %u, "
+                 "[%d]: fields %s index %u",
+                 __entry->tgid, __entry->fd,
                  __entry->i,
                  __print_flags(__entry->fields, "|",
                  {V4L2_H264_TOP_FIELD_REF, "TOP_FIELD_REF"},
@@ -932,9 +1002,11 @@ DECLARE_EVENT_CLASS(v4l2_h264_reference_tmpl,
 );
 
 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(u16, nal_ref_idc)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_h264_decode_params 
*d),
+       TP_ARGS(tgid, fd, d),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __field(u16, nal_ref_idc)
                         __field(u16, frame_num)
                         __field(__s32, top_field_order_cnt)
                         __field(__s32, bottom_field_order_cnt)
@@ -947,7 +1019,9 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_decode_params_tmpl,
                         __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;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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;
@@ -960,7 +1034,8 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_h264_decode_params_tmpl,
                       __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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\nnal_ref_idc %u\n"
                  "frame_num %u\n"
                  "top_field_order_cnt %d\n"
                  "bottom_field_order_cnt %d\n"
@@ -973,6 +1048,7 @@ 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->tgid, __entry->fd,
                  __entry->nal_ref_idc,
                  __entry->frame_num,
                  __entry->top_field_order_cnt,
@@ -995,9 +1071,11 @@ 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(u64, reference_ts)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_h264_dpb_entry *e, int i),
+       TP_ARGS(tgid, fd, e, i),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __field(u64, reference_ts)
                         __field(u32, pic_num)
                         __field(u16, frame_num)
                         __field(u8, fields)
@@ -1005,7 +1083,9 @@ DECLARE_EVENT_CLASS(v4l2_h264_dpb_entry_tmpl,
                         __field(__s32, bottom_field_order_cnt)
                         __field(u32, flags)
                         __field(int, i)),
-       TP_fast_assign(__entry->reference_ts = e->reference_ts;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __entry->reference_ts = e->reference_ts;
                       __entry->pic_num = e->pic_num;
                       __entry->frame_num = e->frame_num;
                       __entry->fields = e->fields;
@@ -1013,8 +1093,10 @@ DECLARE_EVENT_CLASS(v4l2_h264_dpb_entry_tmpl,
                       __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 "
+       TP_printk("tgid = %u, fd = %u, "
+                 "[%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->tgid, __entry->fd,
                  __entry->i,
                  __entry->reference_ts,
                  __entry->pic_num,
@@ -1035,56 +1117,58 @@ DECLARE_EVENT_CLASS(v4l2_h264_dpb_entry_tmpl,
 );
 
 DEFINE_EVENT(v4l2_ctrl_h264_sps_tmpl, v4l2_ctrl_h264_sps,
-       TP_PROTO(const struct v4l2_ctrl_h264_sps *s),
-       TP_ARGS(s)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_h264_sps *s),
+       TP_ARGS(tgid, fd, s)
 );
 
 DEFINE_EVENT(v4l2_ctrl_h264_pps_tmpl, v4l2_ctrl_h264_pps,
-       TP_PROTO(const struct v4l2_ctrl_h264_pps *p),
-       TP_ARGS(p)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_h264_pps *p),
+       TP_ARGS(tgid, fd, p)
 );
 
 DEFINE_EVENT(v4l2_ctrl_h264_scaling_matrix_tmpl, v4l2_ctrl_h264_scaling_matrix,
-       TP_PROTO(const struct v4l2_ctrl_h264_scaling_matrix *s),
-       TP_ARGS(s)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_h264_scaling_matrix 
*s),
+       TP_ARGS(tgid, fd, s)
 );
 
 DEFINE_EVENT(v4l2_ctrl_h264_pred_weights_tmpl, v4l2_ctrl_h264_pred_weights,
-       TP_PROTO(const struct v4l2_ctrl_h264_pred_weights *p),
-       TP_ARGS(p)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_h264_pred_weights *p),
+       TP_ARGS(tgid, fd, p)
 );
 
 DEFINE_EVENT(v4l2_ctrl_h264_slice_params_tmpl, v4l2_ctrl_h264_slice_params,
-       TP_PROTO(const struct v4l2_ctrl_h264_slice_params *s),
-       TP_ARGS(s)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_h264_slice_params *s),
+       TP_ARGS(tgid, fd, s)
 );
 
 DEFINE_EVENT(v4l2_h264_reference_tmpl, v4l2_h264_ref_pic_list0,
-       TP_PROTO(const struct v4l2_h264_reference *r, int i),
-       TP_ARGS(r, i)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_h264_reference *r, int i),
+       TP_ARGS(tgid, fd, r, i)
 );
 
 DEFINE_EVENT(v4l2_h264_reference_tmpl, v4l2_h264_ref_pic_list1,
-       TP_PROTO(const struct v4l2_h264_reference *r, int i),
-       TP_ARGS(r, i)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_h264_reference *r, int i),
+       TP_ARGS(tgid, fd, r, i)
 );
 
 DEFINE_EVENT(v4l2_ctrl_h264_decode_params_tmpl, v4l2_ctrl_h264_decode_params,
-       TP_PROTO(const struct v4l2_ctrl_h264_decode_params *d),
-       TP_ARGS(d)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_h264_decode_params 
*d),
+       TP_ARGS(tgid, fd, d)
 );
 
 DEFINE_EVENT(v4l2_h264_dpb_entry_tmpl, v4l2_h264_dpb_entry,
-       TP_PROTO(const struct v4l2_h264_dpb_entry *e, int i),
-       TP_ARGS(e, i)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_h264_dpb_entry *e, int i),
+       TP_ARGS(tgid, fd, e, i)
 );
 
 /* HEVC controls */
 
 DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_sps_tmpl,
-       TP_PROTO(const struct v4l2_ctrl_hevc_sps *s),
-       TP_ARGS(s),
-       TP_STRUCT__entry(__field(__u8, video_parameter_set_id)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_hevc_sps *s),
+       TP_ARGS(tgid, fd, s),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __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)
@@ -1109,7 +1193,9 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_sps_tmpl,
                         __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;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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;
@@ -1146,7 +1232,8 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_sps_tmpl,
                       __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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\nvideo_parameter_set_id %u\n"
                  "seq_parameter_set_id %u\n"
                  "pic_width_in_luma_samples %u\n"
                  "pic_height_in_luma_samples %u\n"
@@ -1171,6 +1258,7 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_sps_tmpl,
                  "chroma_format_idc %u\n"
                  "sps_max_sub_layers_minus1 %u\n"
                  "flags %s",
+                 __entry->tgid, __entry->fd,
                  __entry->video_parameter_set_id,
                  __entry->seq_parameter_set_id,
                  __entry->pic_width_in_luma_samples,
@@ -1213,9 +1301,11 @@ 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(__u8, pic_parameter_set_id)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_hevc_pps *p),
+       TP_ARGS(tgid, fd, p),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __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)
@@ -1231,7 +1321,9 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_pps_tmpl,
                         __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;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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;
@@ -1252,7 +1344,8 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_pps_tmpl,
                       __entry->log2_parallel_merge_level_minus2 =
                                p->log2_parallel_merge_level_minus2;
                       __entry->flags = p->flags;),
-       TP_printk("\npic_parameter_set_id %u\n"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\npic_parameter_set_id %u\n"
                  "num_extra_slice_header_bits %u\n"
                  "num_ref_idx_l0_default_active_minus1 %u\n"
                  "num_ref_idx_l1_default_active_minus1 %u\n"
@@ -1268,6 +1361,7 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_pps_tmpl,
                  "pps_tc_offset_div2 %d\n"
                  "log2_parallel_merge_level_minus2 %u\n"
                  "flags %s",
+                 __entry->tgid, __entry->fd,
                  __entry->pic_parameter_set_id,
                  __entry->num_extra_slice_header_bits,
                  __entry->num_ref_idx_l0_default_active_minus1,
@@ -1322,9 +1416,11 @@ 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(__u32, bit_size)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_hevc_slice_params *s),
+       TP_ARGS(tgid, fd, s),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __field(__u32, bit_size)
                         __field(__u32, data_byte_offset)
                         __field(__u32, num_entry_point_offsets)
                         __field(__u8, nal_unit_type)
@@ -1351,7 +1447,9 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_slice_params_tmpl,
                         __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;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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;
@@ -1378,7 +1476,8 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_slice_params_tmpl,
                       __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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\nbit_size %u\n"
                  "data_byte_offset %u\n"
                  "num_entry_point_offsets %u\n"
                  "nal_unit_type %u\n"
@@ -1405,6 +1504,7 @@ 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->tgid, __entry->fd,
                  __entry->bit_size,
                  __entry->data_byte_offset,
                  __entry->num_entry_point_offsets,
@@ -1454,9 +1554,11 @@ 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(__array(__s8, delta_luma_weight_l0, 
V4L2_HEVC_DPB_ENTRIES_NUM_MAX)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_hevc_pred_weight_table *p),
+       TP_ARGS(tgid, fd, p),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __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)
@@ -1466,7 +1568,9 @@ DECLARE_EVENT_CLASS(v4l2_hevc_pred_weight_table_tmpl,
                         __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,
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      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));
@@ -1485,7 +1589,8 @@ DECLARE_EVENT_CLASS(v4l2_hevc_pred_weight_table_tmpl,
                       __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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\ndelta_luma_weight_l0 %s\n"
                  "luma_offset_l0 %s\n"
                  "delta_chroma_weight_l0 {%s}\n"
                  "chroma_offset_l0 {%s}\n"
@@ -1495,6 +1600,7 @@ 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",
+                 __entry->tgid, __entry->fd,
                  __print_array(__entry->delta_luma_weight_l0,
                                ARRAY_SIZE(__entry->delta_luma_weight_l0),
                                sizeof(__entry->delta_luma_weight_l0[0])),
@@ -1529,15 +1635,19 @@ DECLARE_EVENT_CLASS(v4l2_hevc_pred_weight_table_tmpl,
        ))
 
 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(__array(__u8, scaling_list_4x4, 6 * 16)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_hevc_scaling_matrix 
*s),
+       TP_ARGS(tgid, fd, s),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __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,
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      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));
@@ -1551,12 +1661,14 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_scaling_matrix_tmpl,
                       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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\nscaling_list_4x4 {%s}\n"
                  "scaling_list_8x8 {%s}\n"
                  "scaling_list_16x16 {%s}\n"
                  "scaling_list_32x32 {%s}\n"
                  "scaling_list_dc_coef_16x16 %s\n"
                  "scaling_list_dc_coef_32x32 %s\n",
+                 __entry->tgid, __entry->fd,
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
                                   __entry->scaling_list_4x4,
                                   sizeof(__entry->scaling_list_4x4),
@@ -1582,9 +1694,11 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_scaling_matrix_tmpl,
        ))
 
 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(__s32, pic_order_cnt_val)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_hevc_decode_params 
*d),
+       TP_ARGS(tgid, fd, d),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __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)
@@ -1595,7 +1709,9 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_decode_params_tmpl,
                         __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;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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;
@@ -1608,7 +1724,8 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_decode_params_tmpl,
                              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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\npic_order_cnt_val %d\n"
                  "short_term_ref_pic_set_size %u\n"
                  "long_term_ref_pic_set_size %u\n"
                  "num_active_dpb_entries %u\n"
@@ -1619,6 +1736,7 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_decode_params_tmpl,
                  "poc_st_curr_after %s\n"
                  "poc_lt_curr %s\n"
                  "flags %s",
+                 __entry->tgid, __entry->fd,
                  __entry->pic_order_cnt_val,
                  __entry->short_term_ref_pic_set_size,
                  __entry->long_term_ref_pic_set_size,
@@ -1643,14 +1761,20 @@ 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(__u8, flags)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_hevc_ext_sps_lt_rps 
*lt),
+       TP_ARGS(tgid, fd, lt),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __field(__u8, flags)
                         __field(__u32, lt_ref_pic_poc_lsb_sps)),
-       TP_fast_assign(__entry->flags = lt->flags;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __entry->flags = lt->flags;
                       __entry->lt_ref_pic_poc_lsb_sps = 
lt->lt_ref_pic_poc_lsb_sps;),
-       TP_printk("\nflags %s\n"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\nflags %s\n"
                  "lt_ref_pic_poc_lsb_sps %x\n",
+                 __entry->tgid, __entry->fd,
                  __print_flags(__entry->flags, "|",
                  {V4L2_HEVC_EXT_SPS_LT_RPS_FLAG_USED_LT, "USED_LT"}
                  ),
@@ -1659,9 +1783,11 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_ext_sps_lt_rps_tmpl,
 );
 
 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(__u8, flags)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_hevc_ext_sps_st_rps 
*st),
+       TP_ARGS(tgid, fd, st),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __field(__u8, flags)
                         __field(__u8, delta_idx_minus1)
                         __field(__u8, delta_rps_sign)
                         __field(__u16, abs_delta_rps_minus1)
@@ -1671,7 +1797,9 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_ext_sps_st_rps_tmpl,
                         __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;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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;
@@ -1683,7 +1811,8 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_ext_sps_st_rps_tmpl,
                              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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\nflags %s\n"
                  "delta_idx_minus1: %u\n"
                  "delta_rps_sign: %u\n"
                  "abs_delta_rps_minus1: %u\n"
@@ -1693,6 +1822,7 @@ 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",
+                 __entry->tgid, __entry->fd,
                  __print_flags(__entry->flags, "|",
                  {V4L2_HEVC_EXT_SPS_ST_RPS_FLAG_INTER_REF_PIC_SET_PRED, 
"INTER_REF_PIC_SET_PRED"}
                  ),
@@ -1713,20 +1843,26 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_hevc_ext_sps_st_rps_tmpl,
 );
 
 DECLARE_EVENT_CLASS(v4l2_hevc_dpb_entry_tmpl,
-       TP_PROTO(const struct v4l2_hevc_dpb_entry *e),
-       TP_ARGS(e),
-       TP_STRUCT__entry(__field(__u64, timestamp)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_hevc_dpb_entry *e),
+       TP_ARGS(tgid, fd, e),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __field(__u64, timestamp)
                         __field(__u8, flags)
                         __field(__u8, field_pic)
                         __field(__s32, pic_order_cnt_val)),
-       TP_fast_assign(__entry->timestamp = e->timestamp;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\ntimestamp %llu\n"
                  "flags %s\n"
                  "field_pic %u\n"
                  "pic_order_cnt_val %d\n",
+                 __entry->tgid, __entry->fd,
                __entry->timestamp,
                __print_flags(__entry->flags, "|",
                {V4L2_HEVC_DPB_ENTRY_LONG_TERM_REFERENCE, "LONG_TERM_REFERENCE"}
@@ -1736,69 +1872,75 @@ DECLARE_EVENT_CLASS(v4l2_hevc_dpb_entry_tmpl,
        ))
 
 DEFINE_EVENT(v4l2_ctrl_hevc_sps_tmpl, v4l2_ctrl_hevc_sps,
-       TP_PROTO(const struct v4l2_ctrl_hevc_sps *s),
-       TP_ARGS(s)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_hevc_sps *s),
+       TP_ARGS(tgid, fd, s)
 );
 
 DEFINE_EVENT(v4l2_ctrl_hevc_pps_tmpl, v4l2_ctrl_hevc_pps,
-       TP_PROTO(const struct v4l2_ctrl_hevc_pps *p),
-       TP_ARGS(p)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_hevc_pps *p),
+       TP_ARGS(tgid, fd, p)
 );
 
 DEFINE_EVENT(v4l2_ctrl_hevc_slice_params_tmpl, v4l2_ctrl_hevc_slice_params,
-       TP_PROTO(const struct v4l2_ctrl_hevc_slice_params *s),
-       TP_ARGS(s)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_hevc_slice_params *s),
+       TP_ARGS(tgid, fd, s)
 );
 
 DEFINE_EVENT(v4l2_hevc_pred_weight_table_tmpl, v4l2_hevc_pred_weight_table,
-       TP_PROTO(const struct v4l2_hevc_pred_weight_table *p),
-       TP_ARGS(p)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_hevc_pred_weight_table *p),
+       TP_ARGS(tgid, fd, p)
 );
 
 DEFINE_EVENT(v4l2_ctrl_hevc_scaling_matrix_tmpl, v4l2_ctrl_hevc_scaling_matrix,
-       TP_PROTO(const struct v4l2_ctrl_hevc_scaling_matrix *s),
-       TP_ARGS(s)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_hevc_scaling_matrix 
*s),
+       TP_ARGS(tgid, fd, s)
 );
 
 DEFINE_EVENT(v4l2_ctrl_hevc_decode_params_tmpl, v4l2_ctrl_hevc_decode_params,
-       TP_PROTO(const struct v4l2_ctrl_hevc_decode_params *d),
-       TP_ARGS(d)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_hevc_decode_params 
*d),
+       TP_ARGS(tgid, fd, d)
 );
 
 DEFINE_EVENT(v4l2_ctrl_hevc_ext_sps_lt_rps_tmpl, v4l2_ctrl_hevc_ext_sps_lt_rps,
-       TP_PROTO(const struct v4l2_ctrl_hevc_ext_sps_lt_rps *lt),
-       TP_ARGS(lt)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_hevc_ext_sps_lt_rps 
*lt),
+       TP_ARGS(tgid, fd, lt)
 );
 
 DEFINE_EVENT(v4l2_ctrl_hevc_ext_sps_st_rps_tmpl, v4l2_ctrl_hevc_ext_sps_st_rps,
-       TP_PROTO(const struct v4l2_ctrl_hevc_ext_sps_st_rps *st),
-       TP_ARGS(st)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_hevc_ext_sps_st_rps 
*st),
+       TP_ARGS(tgid, fd, st)
 );
 
 DEFINE_EVENT(v4l2_hevc_dpb_entry_tmpl, v4l2_hevc_dpb_entry,
-       TP_PROTO(const struct v4l2_hevc_dpb_entry *e),
-       TP_ARGS(e)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_hevc_dpb_entry *e),
+       TP_ARGS(tgid, fd, e)
 );
 
 /* MPEG2 controls */
 
 DECLARE_EVENT_CLASS(v4l2_ctrl_mpeg2_seq_tmpl,
-       TP_PROTO(const struct v4l2_ctrl_mpeg2_sequence *s),
-       TP_ARGS(s),
-       TP_STRUCT__entry(__field(__u16, horizontal_size)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_mpeg2_sequence *s),
+       TP_ARGS(tgid, fd, s),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __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;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\nhorizontal_size %u\nvertical_size %u\nvbv_buffer_size %u\n"
                  "profile_and_level_indication %u\nchroma_format %u\nflags 
%s\n",
+                 __entry->tgid, __entry->fd,
                  __entry->horizontal_size,
                  __entry->vertical_size,
                  __entry->vbv_buffer_size,
@@ -1810,24 +1952,30 @@ 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(__u64, backward_ref_ts)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_mpeg2_picture *p),
+       TP_ARGS(tgid, fd, p),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __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;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\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->tgid, __entry->fd,
                  __entry->backward_ref_ts,
                  __entry->forward_ref_ts,
                  __print_flags(__entry->flags, "|",
@@ -1850,13 +1998,17 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_mpeg2_pic_tmpl,
 );
 
 DECLARE_EVENT_CLASS(v4l2_ctrl_mpeg2_quant_tmpl,
-       TP_PROTO(const struct v4l2_ctrl_mpeg2_quantisation *q),
-       TP_ARGS(q),
-       TP_STRUCT__entry(__array(__u8, intra_quantiser_matrix, 64)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_mpeg2_quantisation 
*q),
+       TP_ARGS(tgid, fd, q),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __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,
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      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));
@@ -1866,8 +2018,10 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_mpeg2_quant_tmpl,
                       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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\nintra_quantiser_matrix %s\nnon_intra_quantiser_matrix %s\n"
                  "chroma_intra_quantiser_matrix 
%s\nchroma_non_intra_quantiser_matrix %s\n",
+                 __entry->tgid, __entry->fd,
                  __print_array(__entry->intra_quantiser_matrix,
                                ARRAY_SIZE(__entry->intra_quantiser_matrix),
                                sizeof(__entry->intra_quantiser_matrix[0])),
@@ -1884,30 +2038,34 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_mpeg2_quant_tmpl,
 )
 
 DEFINE_EVENT(v4l2_ctrl_mpeg2_seq_tmpl, v4l2_ctrl_mpeg2_sequence,
-       TP_PROTO(const struct v4l2_ctrl_mpeg2_sequence *s),
-       TP_ARGS(s)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_mpeg2_sequence *s),
+       TP_ARGS(tgid, fd, s)
 );
 
 DEFINE_EVENT(v4l2_ctrl_mpeg2_pic_tmpl, v4l2_ctrl_mpeg2_picture,
-       TP_PROTO(const struct v4l2_ctrl_mpeg2_picture *p),
-       TP_ARGS(p)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_mpeg2_picture *p),
+       TP_ARGS(tgid, fd, p)
 );
 
 DEFINE_EVENT(v4l2_ctrl_mpeg2_quant_tmpl, v4l2_ctrl_mpeg2_quantisation,
-       TP_PROTO(const struct v4l2_ctrl_mpeg2_quantisation *q),
-       TP_ARGS(q)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_mpeg2_quantisation 
*q),
+       TP_ARGS(tgid, fd, q)
 );
 
 /* VP8 controls */
 
 DECLARE_EVENT_CLASS(v4l2_ctrl_vp8_entropy_tmpl,
-       TP_PROTO(const struct v4l2_ctrl_vp8_frame *f),
-       TP_ARGS(f),
-       TP_STRUCT__entry(__array(__u8, entropy_coeff_probs, 4 * 8 * 3 * 
V4L2_VP8_COEFF_PROB_CNT)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_vp8_frame *f),
+       TP_ARGS(tgid, fd, f),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __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,
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      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));
@@ -1915,10 +2073,12 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp8_entropy_tmpl,
                              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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\nentropy.coeff_probs {%s}\n"
                  "entropy.y_mode_probs %s\n"
                  "entropy.uv_mode_probs %s\n"
                  "entropy.mv_probs {%s}",
+                 __entry->tgid, __entry->fd,
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
                                   __entry->entropy_coeff_probs,
                                   sizeof(__entry->entropy_coeff_probs),
@@ -1937,9 +2097,11 @@ 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(__array(__s8, segment_quant_update, 4)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_vp8_frame *f),
+       TP_ARGS(tgid, fd, f),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __array(__s8, segment_quant_update, 4)
                         __array(__s8, segment_lf_update, 4)
                         __array(__u8, segment_segment_probs, 3)
                         __field(__u32, segment_flags)
@@ -1974,7 +2136,9 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp8_frame_tmpl,
                         __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,
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      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));
@@ -2015,7 +2179,8 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp8_frame_tmpl,
                       __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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\nsegment.quant_update %s\n"
                  "segment.lf_update %s\n"
                  "segment.segment_probs %s\n"
                  "segment.flags %s\n"
@@ -2050,6 +2215,7 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp8_frame_tmpl,
                  "golden_frame_ts %llu\n"
                  "alt_frame_ts %llu\n"
                  "flags %s",
+                 __entry->tgid, __entry->fd,
                  __print_array(__entry->segment_quant_update,
                                ARRAY_SIZE(__entry->segment_quant_update),
                                sizeof(__entry->segment_quant_update[0])),
@@ -2114,21 +2280,23 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp8_frame_tmpl,
 );
 
 DEFINE_EVENT(v4l2_ctrl_vp8_frame_tmpl, v4l2_ctrl_vp8_frame,
-       TP_PROTO(const struct v4l2_ctrl_vp8_frame *f),
-       TP_ARGS(f)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_vp8_frame *f),
+       TP_ARGS(tgid, fd, f)
 );
 
 DEFINE_EVENT(v4l2_ctrl_vp8_entropy_tmpl, v4l2_ctrl_vp8_entropy,
-       TP_PROTO(const struct v4l2_ctrl_vp8_frame *f),
-       TP_ARGS(f)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_vp8_frame *f),
+       TP_ARGS(tgid, fd, f)
 );
 
 /* VP9 controls */
 
 DECLARE_EVENT_CLASS(v4l2_ctrl_vp9_frame_tmpl,
-       TP_PROTO(const struct v4l2_ctrl_vp9_frame *f),
-       TP_ARGS(f),
-       TP_STRUCT__entry(__array(__s8, lf_ref_deltas, 4)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_vp9_frame *f),
+       TP_ARGS(tgid, fd, f),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __array(__s8, lf_ref_deltas, 4)
                         __array(__s8, lf_mode_deltas, 2)
                         __field(__u8, lf_level)
                         __field(__u8, lf_sharpness)
@@ -2161,7 +2329,9 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp9_frame_tmpl,
                         __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,
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      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));
@@ -2200,7 +2370,8 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp9_frame_tmpl,
                       __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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\nlf.ref_deltas %s\n"
                  "lf.mode_deltas %s\n"
                  "lf.level %u\n"
                  "lf.sharpness %u\n"
@@ -2233,6 +2404,7 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp9_frame_tmpl,
                  "tile_cols_log2 %u\n"
                  "tile_rows_log_2 %u\n"
                  "reference_mode %s\n",
+                 __entry->tgid, __entry->fd,
                  __print_array(__entry->lf_ref_deltas,
                                ARRAY_SIZE(__entry->lf_ref_deltas),
                                sizeof(__entry->lf_ref_deltas[0])),
@@ -2313,9 +2485,11 @@ 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(__u8, tx_mode)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_vp9_compressed_hdr 
*h),
+       TP_ARGS(tgid, fd, h),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __field(__u8, tx_mode)
                         __array(__u8, tx8, 2 * 1)
                         __array(__u8, tx16, 2 * 2)
                         __array(__u8, tx32, 2 * 3)
@@ -2329,7 +2503,9 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp9_compressed_hdr_tmpl,
                         __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;
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      __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));
@@ -2344,7 +2520,8 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp9_compressed_hdr_tmpl,
                       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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\ntx_mode %s\n"
                  "tx8 {%s}\n"
                  "tx16 {%s}\n"
                  "tx32 {%s}\n"
@@ -2358,6 +2535,7 @@ DECLARE_EVENT_CLASS(v4l2_ctrl_vp9_compressed_hdr_tmpl,
                  "y_mode {%s}\n"
                  "uv_mode {%s}\n"
                  "partition {%s}\n",
+                 __entry->tgid, __entry->fd,
                  __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"},
@@ -2416,11 +2594,17 @@ 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(__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}",
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_vp9_compressed_hdr 
*h),
+       TP_ARGS(tgid, fd, h),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __array(__u8, coef, 4 * 2 * 2 * 6 * 6 * 3)),
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      memcpy(__entry->coef, h->coef, sizeof(__entry->coef));),
+       TP_printk("tgid = %u, fd = %u, "
+                 "\n coef {%s}",
+                 __entry->tgid, __entry->fd,
                  __print_hex_dump("", DUMP_PREFIX_NONE, 32, 1,
                                   __entry->coef,
                                   sizeof(__entry->coef),
@@ -2429,9 +2613,11 @@ 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(__array(__u8, joint, 3)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_vp9_mv_probs *p),
+       TP_ARGS(tgid, fd, p),
+       TP_STRUCT__entry(__field(u32, tgid)
+                        __field(u32, fd)
+                        __array(__u8, joint, 3)
                         __array(__u8, sign, 2)
                         __array(__u8, classes, 2 * 10)
                         __array(__u8, class0_bit, 2)
@@ -2440,7 +2626,9 @@ DECLARE_EVENT_CLASS(v4l2_vp9_mv_probs_tmpl,
                         __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));
+       TP_fast_assign(__entry->tgid = tgid;
+                      __entry->fd = fd;
+                      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));
@@ -2449,7 +2637,8 @@ DECLARE_EVENT_CLASS(v4l2_vp9_mv_probs_tmpl,
                       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"
+       TP_printk("tgid = %u, fd = %u, "
+                 "\n joint %s\n"
                  "sign %s\n"
                  "classes {%s}\n"
                  "class0_bit %s\n"
@@ -2458,6 +2647,7 @@ DECLARE_EVENT_CLASS(v4l2_vp9_mv_probs_tmpl,
                  "fr {%s}\n"
                  "class0_hp %s\n"
                  "hp %s\n",
+                 __entry->tgid, __entry->fd,
                  __print_array(__entry->joint,
                                ARRAY_SIZE(__entry->joint),
                                sizeof(__entry->joint[0])),
@@ -2493,24 +2683,24 @@ DECLARE_EVENT_CLASS(v4l2_vp9_mv_probs_tmpl,
 );
 
 DEFINE_EVENT(v4l2_ctrl_vp9_frame_tmpl, v4l2_ctrl_vp9_frame,
-       TP_PROTO(const struct v4l2_ctrl_vp9_frame *f),
-       TP_ARGS(f)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_vp9_frame *f),
+       TP_ARGS(tgid, fd, f)
 );
 
 DEFINE_EVENT(v4l2_ctrl_vp9_compressed_hdr_tmpl, v4l2_ctrl_vp9_compressed_hdr,
-       TP_PROTO(const struct v4l2_ctrl_vp9_compressed_hdr *h),
-       TP_ARGS(h)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_vp9_compressed_hdr 
*h),
+       TP_ARGS(tgid, fd, h)
 );
 
 DEFINE_EVENT(v4l2_ctrl_vp9_compressed_coef_tmpl, 
v4l2_ctrl_vp9_compressed_coeff,
-       TP_PROTO(const struct v4l2_ctrl_vp9_compressed_hdr *h),
-       TP_ARGS(h)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_ctrl_vp9_compressed_hdr 
*h),
+       TP_ARGS(tgid, fd, h)
 );
 
 
 DEFINE_EVENT(v4l2_vp9_mv_probs_tmpl, v4l2_vp9_mv_probs,
-       TP_PROTO(const struct v4l2_vp9_mv_probs *p),
-       TP_ARGS(p)
+       TP_PROTO(u32 tgid, u32 fd, const struct v4l2_vp9_mv_probs *p),
+       TP_ARGS(tgid, fd, p)
 );
 
 #endif /* if !defined(_TRACE_V4L2_CONTROLS_H_) || 
defined(TRACE_HEADER_MULTI_READ) */

-- 
2.54.0


Reply via email to