summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/v3d/v3d_fence.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2018-06-05 12:03:01 -0700
committerEric Anholt <eric@anholt.net>2018-06-21 14:46:05 -0700
commit14d1d190869685d3a1e8a3f63924e20594557cb2 (patch)
treee098772294a69023decb35b72ecf972e655d62ef /drivers/gpu/drm/v3d/v3d_fence.c
parent7122b68b8a9692dcc3acf89595f04c492872115f (diff)
downloadlinux-14d1d190869685d3a1e8a3f63924e20594557cb2.tar.gz
linux-14d1d190869685d3a1e8a3f63924e20594557cb2.tar.bz2
linux-14d1d190869685d3a1e8a3f63924e20594557cb2.zip
drm/v3d: Remove the bad signaled() implementation.
Since our seqno value comes from a counter associated with the GPU ring, not the entity (aka client), they'll be completed out of order. There's actually no need for this code at all, since we don't have enable_signaling() and thus DMA_FENCE_SIGNALED_BIT will be set before we could be called. Signed-off-by: Eric Anholt <eric@anholt.net> Link: https://patchwork.freedesktop.org/patch/msgid/20180605190302.18279-2-eric@anholt.net Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Diffstat (limited to 'drivers/gpu/drm/v3d/v3d_fence.c')
-rw-r--r--drivers/gpu/drm/v3d/v3d_fence.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/gpu/drm/v3d/v3d_fence.c b/drivers/gpu/drm/v3d/v3d_fence.c
index 087d49c8cb12..bfe31a89668b 100644
--- a/drivers/gpu/drm/v3d/v3d_fence.c
+++ b/drivers/gpu/drm/v3d/v3d_fence.c
@@ -40,19 +40,14 @@ static bool v3d_fence_enable_signaling(struct dma_fence *fence)
return true;
}
-static bool v3d_fence_signaled(struct dma_fence *fence)
-{
- struct v3d_fence *f = to_v3d_fence(fence);
- struct v3d_dev *v3d = to_v3d_dev(f->dev);
-
- return v3d->queue[f->queue].finished_seqno >= f->seqno;
-}
-
const struct dma_fence_ops v3d_fence_ops = {
.get_driver_name = v3d_fence_get_driver_name,
.get_timeline_name = v3d_fence_get_timeline_name,
.enable_signaling = v3d_fence_enable_signaling,
- .signaled = v3d_fence_signaled,
+ /* Each of our fences gets signaled as complete by the IRQ
+ * handler, so we rely on the core's tracking of signaling.
+ */
+ .signaled = NULL,
.wait = dma_fence_default_wait,
.release = dma_fence_free,
};