@@ -43,13 +43,10 @@ static const char *virtio_get_timeline_name(struct dma_fence *f)
static bool virtio_fence_signaled(struct dma_fence *f)
{
struct virtio_gpu_fence *fence = to_virtio_fence(f);
-
- if (WARN_ON_ONCE(fence->f.seqno == 0))
- /* leaked fence outside driver before completing
- * initialization with virtio_gpu_fence_emit */
- return false;
- if (atomic64_read(&fence->drv->last_fence_id) >= fence->f.seqno)
- return true;
+ /* leaked fence outside driver before completing
+ * initialization with virtio_gpu_fence_emit
+ */
+ WARN_ON_ONCE(fence->fence_id == 0);
return false;
}
We signal the fences ourselves in virtio_gpu_fence_event_process, shortly after we set last_fence_id. The window of time is small enough such that it may be possible to return false in this optional callback and rely on DMA_FENCE_FLAG_SIGNALED_BIT. Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org> --- drivers/gpu/drm/virtio/virtgpu_fence.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-)