diff options
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_prime.c')
| -rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_prime.c | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_prime.c b/drivers/gpu/drm/nouveau/nouveau_prime.c index e90468d5e5c..51a2cb102b4 100644 --- a/drivers/gpu/drm/nouveau/nouveau_prime.c +++ b/drivers/gpu/drm/nouveau/nouveau_prime.c @@ -71,14 +71,16 @@ 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; -	nvbo->gem = drm_gem_object_alloc(dev, nvbo->bo.mem.size); -	if (!nvbo->gem) { + +	/* Initialize the embedded gem-object. We return a single gem-reference +	 * to the caller, instead of a normal nouveau_bo ttm reference. */ +	ret = drm_gem_object_init(dev, &nvbo->gem, nvbo->bo.mem.size); +	if (ret) {  		nouveau_bo_ref(NULL, &nvbo);  		return ERR_PTR(-ENOMEM);  	} -	nvbo->gem->driver_private = nvbo; -	return nvbo->gem; +	return &nvbo->gem;  }  int nouveau_gem_prime_pin(struct drm_gem_object *obj)  | 
