drm/virtio: rework virtio_fence_signaled
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. v3: add r-b tags Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Anthoine Bourgeois <anthoine.bourgeois@gmail.com> Link: http://patchwork.freedesktop.org/patch/msgid/20201201021623.619-2-gurchetansingh@chromium.org Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
41a90202cd
commit
b9662c3a54
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user