[PATCH 09/12] drm/nouveau: add DMA-buf user fence support
Christian König
ckoenig.leichtzumerken at gmail.com
Tue May 4 13:27:26 UTC 2021
Just add the call before taking locks.
Signed-off-by: Christian König <christian.koenig at amd.com>
---
drivers/gpu/drm/nouveau/nouveau_gem.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c
index a70e82413fa7..e349a8b32549 100644
--- a/drivers/gpu/drm/nouveau/nouveau_gem.c
+++ b/drivers/gpu/drm/nouveau/nouveau_gem.c
@@ -552,6 +552,7 @@ nouveau_gem_pushbuf_validate(struct nouveau_channel *chan,
struct validate_op *op, bool *apply_relocs)
{
struct nouveau_cli *cli = nouveau_cli(file_priv);
+ unsigned int i;
int ret;
INIT_LIST_HEAD(&op->list);
@@ -559,6 +560,17 @@ nouveau_gem_pushbuf_validate(struct nouveau_channel *chan,
if (nr_buffers == 0)
return 0;
+ for (i = 0; i < nr_buffers; i++) {
+ struct drm_nouveau_gem_pushbuf_bo *b = &pbbo[i];
+ struct drm_gem_object *gem;
+
+ gem = drm_gem_object_lookup(file_priv, b->handle);
+ if (!gem)
+ return -ENOENT;
+ dma_resv_sync_user_fence(gem->resv);
+ drm_gem_object_put(gem);
+ }
+
ret = validate_init(chan, file_priv, pbbo, nr_buffers, op);
if (unlikely(ret)) {
if (ret != -ERESTARTSYS)
--
2.25.1
More information about the dri-devel
mailing list