On Mon, Nov 23, 2020 at 06:19:01PM -0800, Gurchetan Singh wrote:
virtio_gpu_fence_event_process sets the last_fence_id and subsequently calls dma_fence_signal_locked(..).
dma_fence_signal_locked(..) sets DMA_FENCE_FLAG_SIGNALED_BIT, which is actually checked before &dma_fence_ops.(*signaled) is called.
The check for last_fence_id is therefore a bit redundant, and it will not be sufficient to check the last_fence_id for multiple synchronization timelines. Remove it.
Signed-off-by: Gurchetan Singh gurchetansingh@chromium.org
Reviewed-by: Anthoine Bourgeois anthoine.bourgeois@gmail.com
drivers/gpu/drm/virtio/virtgpu_fence.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/virtio/virtgpu_fence.c b/drivers/gpu/drm/virtio/virtgpu_fence.c index 586034c90587..b35fcd1d02d7 100644 --- a/drivers/gpu/drm/virtio/virtgpu_fence.c +++ b/drivers/gpu/drm/virtio/virtgpu_fence.c @@ -42,14 +42,10 @@ static const char *virtio_gpu_get_timeline_name(struct dma_fence *f)
static bool virtio_gpu_fence_signaled(struct dma_fence *f) {
- struct virtio_gpu_fence *fence = to_virtio_gpu_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(f->seqno == 0); return false;
}
-- 2.29.2.454.gaff20da3a2-goog
dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel