Message ID | 20201124021902.407-2-gurchetansingh@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/3] drm/virtio: virtio_{blah} --> virtio_gpu_{blah} | expand |
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
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; }
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> --- drivers/gpu/drm/virtio/virtgpu_fence.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-)