summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/vc4/vc4_gem.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c
index abc0684d7e28..bedf53e02e8e 100644
--- a/drivers/gpu/drm/vc4/vc4_gem.c
+++ b/drivers/gpu/drm/vc4/vc4_gem.c
@@ -604,6 +604,13 @@ vc4_submit_cl_ioctl(struct drm_device *dev, void *data,
args->seqno = vc4->emit_seqno;
mutex_unlock(&dev->struct_mutex);
+
+ /* To keep any client from getting too far ahead (particularly
+ * a problem when BO caching is involved), we wait on the
+ * previous rendering before returning to userspace.
+ */
+ vc4_wait_for_seqno(dev, args->seqno - 1, ~0ull);
+
return 0;
fail: