diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0509-drm-amdgpu-remove-sorting-of-CS-BOs.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0509-drm-amdgpu-remove-sorting-of-CS-BOs.patch | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0509-drm-amdgpu-remove-sorting-of-CS-BOs.patch b/common/recipes-kernel/linux/files/0509-drm-amdgpu-remove-sorting-of-CS-BOs.patch new file mode 100644 index 00000000..d69aa04e --- /dev/null +++ b/common/recipes-kernel/linux/files/0509-drm-amdgpu-remove-sorting-of-CS-BOs.patch @@ -0,0 +1,69 @@ +From cff6c9a7f64f13fbe5c6bfc09e9aaac3058e997a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> +Date: Fri, 15 Apr 2016 17:19:17 +0200 +Subject: [PATCH 0509/1110] drm/amdgpu: remove sorting of CS BOs +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Not needed any more. + +Signed-off-by: Christian König <christian.koenig@amd.com> +Reviewed-by: Alex Deucher <alexander.deucher@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +Signed-off-by: Kalyan Alle <kalyan.alle@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 23 +---------------------- + 1 file changed, 1 insertion(+), 22 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +index 807670c..55a5814 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +@@ -24,7 +24,6 @@ + * Authors: + * Jerome Glisse <glisse@freedesktop.org> + */ +-#include <linux/list_sort.h> + #include <linux/pagemap.h> + #include <drm/drmP.h> + #include <drm/amdgpu_drm.h> +@@ -574,16 +573,6 @@ static int amdgpu_cs_sync_rings(struct amdgpu_cs_parser *p) + return 0; + } + +-static int cmp_size_smaller_first(void *priv, struct list_head *a, +- struct list_head *b) +-{ +- struct amdgpu_bo_list_entry *la = list_entry(a, struct amdgpu_bo_list_entry, tv.head); +- struct amdgpu_bo_list_entry *lb = list_entry(b, struct amdgpu_bo_list_entry, tv.head); +- +- /* Sort A before B if A is smaller. */ +- return (int)la->robj->tbo.num_pages - (int)lb->robj->tbo.num_pages; +-} +- + /** + * cs_parser_fini() - clean parser states + * @parser: parser structure holding parsing context. +@@ -597,17 +586,7 @@ static void amdgpu_cs_parser_fini(struct amdgpu_cs_parser *parser, int error, bo + unsigned i; + + if (!error) { +- /* Sort the buffer list from the smallest to largest buffer, +- * which affects the order of buffers in the LRU list. +- * This assures that the smallest buffers are added first +- * to the LRU list, so they are likely to be later evicted +- * first, instead of large buffers whose eviction is more +- * expensive. +- * +- * This slightly lowers the number of bytes moved by TTM +- * per frame under memory pressure. +- */ +- list_sort(NULL, &parser->validated, cmp_size_smaller_first); ++ amdgpu_vm_move_pt_bos_in_lru(parser->adev, &fpriv->vm); + + ttm_eu_fence_buffer_objects(&parser->ticket, + &parser->validated, +-- +2.7.4 + |