From 8d102f7a302db39539ce780875f88ea62270818b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 17 Jun 2015 15:05:57 -0700 Subject: drm/vc4: Allocate the correct size for our bin BO. The 256k was left over from early bringup. Signed-off-by: Eric Anholt --- drivers/gpu/drm/vc4/vc4_bo.c | 6 +++++- drivers/gpu/drm/vc4/vc4_gem.c | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c index 62e8a0c27a39..26817bfe71b4 100644 --- a/drivers/gpu/drm/vc4/vc4_bo.c +++ b/drivers/gpu/drm/vc4/vc4_bo.c @@ -119,13 +119,17 @@ vc4_bo_cache_purge(struct drm_device *dev) } struct vc4_bo * -vc4_bo_create(struct drm_device *dev, size_t size) +vc4_bo_create(struct drm_device *dev, size_t unaligned_size) { struct vc4_dev *vc4 = to_vc4_dev(dev); + uint32_t size = roundup(unaligned_size, PAGE_SIZE); uint32_t page_index = bo_page_index(size); struct vc4_bo *bo = NULL; struct drm_gem_cma_object *cma_obj; + if (size == 0) + return NULL; + /* First, try to get a vc4_bo from the kernel BO cache. */ if (vc4->bo_cache.size_list_size > page_index) { if (!list_empty(&vc4->bo_cache.size_list[page_index])) { diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c index bedf53e02e8e..7bb446cc1f40 100644 --- a/drivers/gpu/drm/vc4/vc4_gem.c +++ b/drivers/gpu/drm/vc4/vc4_gem.c @@ -407,7 +407,7 @@ vc4_cl_validate(struct drm_device *dev, struct vc4_exec_info *exec) goto fail; } - bo = vc4_bo_create(dev, 256 * 1024); + bo = vc4_bo_create(dev, exec_size); if (!bo) { DRM_ERROR("Couldn't allocate BO for exec\n"); ret = PTR_ERR(exec->exec_bo); -- cgit v1.2.1