diff options
Diffstat (limited to 'drivers/gpu/drm/tegra/gem.c')
| -rw-r--r-- | drivers/gpu/drm/tegra/gem.c | 14 | 
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c index c888bed4036f..8777b7f75791 100644 --- a/drivers/gpu/drm/tegra/gem.c +++ b/drivers/gpu/drm/tegra/gem.c @@ -216,8 +216,7 @@ static void tegra_bo_free(struct drm_device *drm, struct tegra_bo *bo)  	}  } -static int tegra_bo_get_pages(struct drm_device *drm, struct tegra_bo *bo, -			      size_t size) +static int tegra_bo_get_pages(struct drm_device *drm, struct tegra_bo *bo)  {  	struct scatterlist *s;  	struct sg_table *sgt; @@ -227,7 +226,7 @@ static int tegra_bo_get_pages(struct drm_device *drm, struct tegra_bo *bo,  	if (IS_ERR(bo->pages))  		return PTR_ERR(bo->pages); -	bo->num_pages = size >> PAGE_SHIFT; +	bo->num_pages = bo->gem.size >> PAGE_SHIFT;  	sgt = drm_prime_pages_to_sg(bo->pages, bo->num_pages);  	if (IS_ERR(sgt)) @@ -262,14 +261,13 @@ put_pages:  	return PTR_ERR(sgt);  } -static int tegra_bo_alloc(struct drm_device *drm, struct tegra_bo *bo, -			  size_t size) +static int tegra_bo_alloc(struct drm_device *drm, struct tegra_bo *bo)  {  	struct tegra_drm *tegra = drm->dev_private;  	int err;  	if (tegra->domain) { -		err = tegra_bo_get_pages(drm, bo, size); +		err = tegra_bo_get_pages(drm, bo);  		if (err < 0)  			return err; @@ -279,6 +277,8 @@ static int tegra_bo_alloc(struct drm_device *drm, struct tegra_bo *bo,  			return err;  		}  	} else { +		size_t size = bo->gem.size; +  		bo->vaddr = dma_alloc_writecombine(drm->dev, size, &bo->paddr,  						   GFP_KERNEL | __GFP_NOWARN);  		if (!bo->vaddr) { @@ -302,7 +302,7 @@ struct tegra_bo *tegra_bo_create(struct drm_device *drm, size_t size,  	if (IS_ERR(bo))  		return bo; -	err = tegra_bo_alloc(drm, bo, size); +	err = tegra_bo_alloc(drm, bo);  	if (err < 0)  		goto release;  | 
