TP_STRUCT__entry(
                             __field(u32, dev)
+                            __field(u32, hw_id)
                             __field(u32, ring)
                             __field(u32, ctx)
                             __field(u32, seqno)
 
            TP_fast_assign(
                           __entry->dev = req->i915->drm.primary->index;
+                          __entry->hw_id = req->ctx->hw_id;
                           __entry->ring = req->engine->id;
                           __entry->ctx = req->fence.context;
                           __entry->seqno = req->fence.seqno;
                           __entry->flags = flags;
                           ),
 
-           TP_printk("dev=%u, ring=%u, ctx=%u, seqno=%u, flags=0x%x",
-                     __entry->dev, __entry->ring, __entry->ctx, __entry->seqno,
-                     __entry->flags)
+           TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, flags=0x%x",
+                     __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
+                     __entry->seqno, __entry->flags)
 );
 
 DECLARE_EVENT_CLASS(i915_gem_request,
 
            TP_STRUCT__entry(
                             __field(u32, dev)
+                            __field(u32, hw_id)
                             __field(u32, ring)
                             __field(u32, ctx)
                             __field(u32, seqno)
 
            TP_fast_assign(
                           __entry->dev = req->i915->drm.primary->index;
+                          __entry->hw_id = req->ctx->hw_id;
                           __entry->ring = req->engine->id;
                           __entry->ctx = req->fence.context;
                           __entry->seqno = req->fence.seqno;
                           __entry->global = req->global_seqno;
                           ),
 
-           TP_printk("dev=%u, ring=%u, ctx=%u, seqno=%u, global=%u",
-                     __entry->dev, __entry->ring, __entry->ctx, __entry->seqno,
-                     __entry->global)
+           TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, global=%u",
+                     __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
+                     __entry->seqno, __entry->global)
 );
 
 DEFINE_EVENT(i915_gem_request, i915_gem_request_add,
 
                    TP_STRUCT__entry(
                                     __field(u32, dev)
+                                    __field(u32, hw_id)
                                     __field(u32, ring)
                                     __field(u32, ctx)
                                     __field(u32, seqno)
 
                    TP_fast_assign(
                                   __entry->dev = req->i915->drm.primary->index;
+                                  __entry->hw_id = req->ctx->hw_id;
                                   __entry->ring = req->engine->id;
                                   __entry->ctx = req->fence.context;
                                   __entry->seqno = req->fence.seqno;
                                   __entry->port = port;
                                  ),
 
-                   TP_printk("dev=%u, ring=%u, ctx=%u, seqno=%u, global=%u, port=%u",
-                             __entry->dev, __entry->ring, __entry->ctx,
-                             __entry->seqno, __entry->global_seqno,
-                             __entry->port)
+                   TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, global=%u, port=%u",
+                             __entry->dev, __entry->hw_id, __entry->ring,
+                             __entry->ctx, __entry->seqno,
+                             __entry->global_seqno, __entry->port)
 );
 
 DEFINE_EVENT(i915_gem_request_hw, i915_gem_request_in,
 
            TP_STRUCT__entry(
                             __field(u32, dev)
+                            __field(u32, hw_id)
                             __field(u32, ring)
                             __field(u32, ctx)
                             __field(u32, seqno)
             */
            TP_fast_assign(
                           __entry->dev = req->i915->drm.primary->index;
+                          __entry->hw_id = req->ctx->hw_id;
                           __entry->ring = req->engine->id;
                           __entry->ctx = req->fence.context;
                           __entry->seqno = req->fence.seqno;
                           __entry->flags = flags;
                           ),
 
-           TP_printk("dev=%u, ring=%u, ctx=%u, seqno=%u, global=%u, blocking=%u, flags=0x%x",
-                     __entry->dev, __entry->ring, __entry->ctx, __entry->seqno,
-                     __entry->global, !!(__entry->flags & I915_WAIT_LOCKED),
-                     __entry->flags)
+           TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, global=%u, blocking=%u, flags=0x%x",
+                     __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
+                     __entry->seqno, __entry->global,
+                     !!(__entry->flags & I915_WAIT_LOCKED), __entry->flags)
 );
 
 DEFINE_EVENT(i915_gem_request, i915_gem_request_wait_end,