Commit 3007dc2a authored by Rob Clark's avatar Rob Clark Committed by Gerd Hoffmann

drm/virtio: Fix same-context optimization

When VIRTGPU_EXECBUF_RING_IDX is used, we should be considering the
timeline that the EB if running on rather than the global driver fence
context.

Fixes: 85c83ea9 ("drm/virtio: implement context init: allocate an array of fence contexts")
Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
Link: http://patchwork.freedesktop.org/patch/msgid/20220812224001.2806463-1-robdclark@gmail.comSigned-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent d9c04a1b
...@@ -168,7 +168,7 @@ static int virtio_gpu_execbuffer_ioctl(struct drm_device *dev, void *data, ...@@ -168,7 +168,7 @@ static int virtio_gpu_execbuffer_ioctl(struct drm_device *dev, void *data,
* array contains any fence from a foreign context. * array contains any fence from a foreign context.
*/ */
ret = 0; ret = 0;
if (!dma_fence_match_context(in_fence, vgdev->fence_drv.context)) if (!dma_fence_match_context(in_fence, fence_ctx + ring_idx))
ret = dma_fence_wait(in_fence, true); ret = dma_fence_wait(in_fence, true);
dma_fence_put(in_fence); dma_fence_put(in_fence);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment