diff options
| -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) | |||
| 216 | } | 216 | } |
| 217 | } | 217 | } |
| 218 | 218 | ||
| 219 | static int tegra_bo_get_pages(struct drm_device *drm, struct tegra_bo *bo, | 219 | static int tegra_bo_get_pages(struct drm_device *drm, struct tegra_bo *bo) |
| 220 | size_t size) | ||
| 221 | { | 220 | { |
| 222 | struct scatterlist *s; | 221 | struct scatterlist *s; |
| 223 | struct sg_table *sgt; | 222 | struct sg_table *sgt; |
| @@ -227,7 +226,7 @@ static int tegra_bo_get_pages(struct drm_device *drm, struct tegra_bo *bo, | |||
| 227 | if (IS_ERR(bo->pages)) | 226 | if (IS_ERR(bo->pages)) |
| 228 | return PTR_ERR(bo->pages); | 227 | return PTR_ERR(bo->pages); |
| 229 | 228 | ||
| 230 | bo->num_pages = size >> PAGE_SHIFT; | 229 | bo->num_pages = bo->gem.size >> PAGE_SHIFT; |
| 231 | 230 | ||
| 232 | sgt = drm_prime_pages_to_sg(bo->pages, bo->num_pages); | 231 | sgt = drm_prime_pages_to_sg(bo->pages, bo->num_pages); |
| 233 | if (IS_ERR(sgt)) | 232 | if (IS_ERR(sgt)) |
| @@ -262,14 +261,13 @@ put_pages: | |||
| 262 | return PTR_ERR(sgt); | 261 | return PTR_ERR(sgt); |
| 263 | } | 262 | } |
| 264 | 263 | ||
| 265 | static int tegra_bo_alloc(struct drm_device *drm, struct tegra_bo *bo, | 264 | static int tegra_bo_alloc(struct drm_device *drm, struct tegra_bo *bo) |
| 266 | size_t size) | ||
| 267 | { | 265 | { |
| 268 | struct tegra_drm *tegra = drm->dev_private; | 266 | struct tegra_drm *tegra = drm->dev_private; |
| 269 | int err; | 267 | int err; |
| 270 | 268 | ||
| 271 | if (tegra->domain) { | 269 | if (tegra->domain) { |
| 272 | err = tegra_bo_get_pages(drm, bo, size); | 270 | err = tegra_bo_get_pages(drm, bo); |
| 273 | if (err < 0) | 271 | if (err < 0) |
| 274 | return err; | 272 | return err; |
| 275 | 273 | ||
| @@ -279,6 +277,8 @@ static int tegra_bo_alloc(struct drm_device *drm, struct tegra_bo *bo, | |||
| 279 | return err; | 277 | return err; |
| 280 | } | 278 | } |
| 281 | } else { | 279 | } else { |
| 280 | size_t size = bo->gem.size; | ||
| 281 | |||
| 282 | bo->vaddr = dma_alloc_writecombine(drm->dev, size, &bo->paddr, | 282 | bo->vaddr = dma_alloc_writecombine(drm->dev, size, &bo->paddr, |
| 283 | GFP_KERNEL | __GFP_NOWARN); | 283 | GFP_KERNEL | __GFP_NOWARN); |
| 284 | if (!bo->vaddr) { | 284 | if (!bo->vaddr) { |
| @@ -302,7 +302,7 @@ struct tegra_bo *tegra_bo_create(struct drm_device *drm, size_t size, | |||
| 302 | if (IS_ERR(bo)) | 302 | if (IS_ERR(bo)) |
| 303 | return bo; | 303 | return bo; |
| 304 | 304 | ||
| 305 | err = tegra_bo_alloc(drm, bo, size); | 305 | err = tegra_bo_alloc(drm, bo); |
| 306 | if (err < 0) | 306 | if (err < 0) |
| 307 | goto release; | 307 | goto release; |
| 308 | 308 | ||
