summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorGurchetan Singh <gurchetansingh@chromium.org>2021-09-21 16:20:18 -0700
committerGerd Hoffmann <kraxel@redhat.com>2021-09-29 09:22:30 +0200
commit7547675b84bf452542463db29adb113cadb7dd6d (patch)
tree8392c8e8880f144523cc175f86561168650311e9 /drivers
parent4fb530e5caf7cb666948db65f245b350ce520436 (diff)
downloadlinux-7547675b84bf452542463db29adb113cadb7dd6d.tar.gz
linux-7547675b84bf452542463db29adb113cadb7dd6d.tar.bz2
linux-7547675b84bf452542463db29adb113cadb7dd6d.zip
drm/virtio: implement context init: track {ring_idx, emit_fence_info} in virtio_gpu_fence
Each fence should be associated with a [fence ID, fence_context, seqno]. The seqno number is just the fence id. To get the fence context, we add the ring_idx to the 3D context's base_fence_ctx. The ring_idx is between 0 and 31, inclusive. Each 3D context will have it's own base_fence_ctx. The ring_idx will be emitted to host userspace, when emit_fence_info is true. Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org> Acked-by: Lingfeng Yang <lfy@google.com> Link: http://patchwork.freedesktop.org/patch/msgid/20210921232024.817-7-gurchetansingh@chromium.org Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/virtio/virtgpu_drv.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.h b/drivers/gpu/drm/virtio/virtgpu_drv.h
index 9996abf60e3a..401aec1a5efb 100644
--- a/drivers/gpu/drm/virtio/virtgpu_drv.h
+++ b/drivers/gpu/drm/virtio/virtgpu_drv.h
@@ -139,7 +139,9 @@ struct virtio_gpu_fence_driver {
struct virtio_gpu_fence {
struct dma_fence f;
+ uint32_t ring_idx;
uint64_t fence_id;
+ bool emit_fence_info;
struct virtio_gpu_fence_driver *drv;
struct list_head node;
};