diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.4/0541-drm-vc4-Use-drm_malloc_ab-to-fix-large-rendering-job.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.4/0541-drm-vc4-Use-drm_malloc_ab-to-fix-large-rendering-job.patch | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/target/linux/brcm2708/patches-4.4/0541-drm-vc4-Use-drm_malloc_ab-to-fix-large-rendering-job.patch b/target/linux/brcm2708/patches-4.4/0541-drm-vc4-Use-drm_malloc_ab-to-fix-large-rendering-job.patch deleted file mode 100644 index dedc2b56af..0000000000 --- a/target/linux/brcm2708/patches-4.4/0541-drm-vc4-Use-drm_malloc_ab-to-fix-large-rendering-job.patch +++ /dev/null @@ -1,57 +0,0 @@ -From c3557e82a495ea8d0691f25883a9576a0a866fb9 Mon Sep 17 00:00:00 2001 -From: Eric Anholt <eric@anholt.net> -Date: Tue, 19 Jul 2016 11:32:44 -0700 -Subject: [PATCH] drm/vc4: Use drm_malloc_ab to fix large rendering jobs. - -If you exceeded the size that kmalloc would return, you'd get a dmesg -warning and a return from the job submit. We can handle much -allocations with vmalloc, and drm_malloc_ab makes that decision. - -Fixes failure in piglit's scissor-many. - -Signed-off-by: Eric Anholt <eric@anholt.net> -(cherry picked from commit ece7267dccf0e9e08cb6e8dc6b7ad2be9c4eb444) ---- - drivers/gpu/drm/vc4/vc4_gem.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/drivers/gpu/drm/vc4/vc4_gem.c -+++ b/drivers/gpu/drm/vc4/vc4_gem.c -@@ -549,8 +549,8 @@ vc4_cl_lookup_bos(struct drm_device *dev - return -EINVAL; - } - -- exec->bo = kcalloc(exec->bo_count, sizeof(struct drm_gem_cma_object *), -- GFP_KERNEL); -+ exec->bo = drm_calloc_large(exec->bo_count, -+ sizeof(struct drm_gem_cma_object *)); - if (!exec->bo) { - DRM_ERROR("Failed to allocate validated BO pointers\n"); - return -ENOMEM; -@@ -624,7 +624,7 @@ vc4_get_bcl(struct drm_device *dev, stru - * read the contents back for validation, and I think the - * bo->vaddr is uncached access. - */ -- temp = kmalloc(temp_size, GFP_KERNEL); -+ temp = drm_malloc_ab(temp_size, 1); - if (!temp) { - DRM_ERROR("Failed to allocate storage for copying " - "in bin/render CLs.\n"); -@@ -699,7 +699,7 @@ vc4_get_bcl(struct drm_device *dev, stru - ret = vc4_wait_for_seqno(dev, exec->bin_dep_seqno, ~0ull, true); - - fail: -- kfree(temp); -+ drm_free_large(temp); - return ret; - } - -@@ -712,7 +712,7 @@ vc4_complete_exec(struct drm_device *dev - if (exec->bo) { - for (i = 0; i < exec->bo_count; i++) - drm_gem_object_unreference_unlocked(&exec->bo[i]->base); -- kfree(exec->bo); -+ drm_free_large(exec->bo); - } - - while (!list_empty(&exec->unref_list)) { |