drm/virtio: trace drm_fence_emit
authorChia-I Wu <olvaffe@gmail.com>
Mon, 29 Apr 2019 22:08:24 +0000 (15:08 -0700)
committerGerd Hoffmann <kraxel@redhat.com>
Mon, 6 May 2019 08:52:58 +0000 (10:52 +0200)
For most drivers, drm_fence_init is followed by drm_fence_emit
immediately.  But for our driver, they are done separately.  We also
don't know the fence seqno until drm_fence_emit.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20190429220825.156644-2-olvaffe@gmail.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
drivers/gpu/drm/virtio/virtgpu_fence.c

index 72b4f7561432ff2f5c0ad45be395989968f3bc8e..e22918ca621b71dcab6d0e1bac7853c543ff04a4 100644 (file)
@@ -24,6 +24,7 @@
  */
 
 #include <drm/drmP.h>
+#include <trace/events/dma_fence.h>
 #include "virtgpu_drv.h"
 
 static const char *virtio_get_driver_name(struct dma_fence *f)
@@ -97,6 +98,8 @@ int virtio_gpu_fence_emit(struct virtio_gpu_device *vgdev,
        list_add_tail(&fence->node, &drv->fences);
        spin_unlock_irqrestore(&drv->lock, irq_flags);
 
+       trace_dma_fence_emit(&fence->f);
+
        cmd_hdr->flags |= cpu_to_le32(VIRTIO_GPU_FLAG_FENCE);
        cmd_hdr->fence_id = cpu_to_le64(fence->f.seqno);
        return 0;