[PATCH 2/6 v2] drm/nouveau: Pin bos from imported dma-bufs to GTT. (v2)
raof at ubuntu.com
raof at ubuntu.com
Mon Apr 3 05:56:28 UTC 2017
From: Christopher James Halse Rogers <christopher.halse.rogers at canonical.com>
Attempting to migrate the bo will break the sharing of the buffer.
v2: Error-check the nouveau_bo_pin call; it can fail.
Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers at canonical.com>
---
drivers/gpu/drm/nouveau/nouveau_prime.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/nouveau/nouveau_prime.c b/drivers/gpu/drm/nouveau/nouveau_prime.c
index 1fefc93af1d7..ad5eaf70c8e2 100644
--- a/drivers/gpu/drm/nouveau/nouveau_prime.c
+++ b/drivers/gpu/drm/nouveau/nouveau_prime.c
@@ -76,6 +76,12 @@ struct drm_gem_object *nouveau_gem_prime_import_sg_table(struct drm_device *dev,
return ERR_PTR(ret);
nvbo->valid_domains = NOUVEAU_GEM_DOMAIN_GART;
+ /* pin imported buffer to GTT */
+ ret = nouveau_bo_pin(nvbo, TTM_PL_FLAG_TT, false);
+ if (ret) {
+ nouveau_bo_ref(NULL, &nvbo);
+ return ERR_PTR(ret);
+ }
/* Initialize the embedded gem-object. We return a single gem-reference
* to the caller, instead of a normal nouveau_bo ttm reference. */
--
2.11.0
More information about the dri-devel
mailing list