diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0460-drm-amdgpu-drop-bo_list_clone-when-no-scheduler.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0460-drm-amdgpu-drop-bo_list_clone-when-no-scheduler.patch | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/common/recipes-kernel/linux/files/0460-drm-amdgpu-drop-bo_list_clone-when-no-scheduler.patch b/common/recipes-kernel/linux/files/0460-drm-amdgpu-drop-bo_list_clone-when-no-scheduler.patch deleted file mode 100644 index 6feeb21c..00000000 --- a/common/recipes-kernel/linux/files/0460-drm-amdgpu-drop-bo_list_clone-when-no-scheduler.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 1939e3e265d2fb984b56829c51f5843bfc6d5292 Mon Sep 17 00:00:00 2001 -From: "monk.liu" <monk.liu@amd.com> -Date: Thu, 13 Aug 2015 16:19:54 +0800 -Subject: [PATCH 0460/1050] drm/amdgpu: drop bo_list_clone when no scheduler - -bo_list_clone() will take a lot of time when bo_list hold too much -elements, like above 7000 - -Signed-off-by: Monk.Liu <monk.liu@amd.com> -Reviewed-by: Chunming Zhou <david1.zhou@amd.com> -Reviewed-by: Jammy Zhou <jammy.zhou@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 22 +++++++++++++--------- - 1 file changed, 13 insertions(+), 9 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c -index 8796938..07e3380 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c -@@ -186,15 +186,19 @@ int amdgpu_cs_parser_init(struct amdgpu_cs_parser *p, void *data) - goto out; - } - bo_list = amdgpu_bo_list_get(fpriv, cs->in.bo_list_handle); -- if (bo_list && !bo_list->has_userptr) { -- p->bo_list = amdgpu_bo_list_clone(bo_list); -- amdgpu_bo_list_put(bo_list); -- if (!p->bo_list) -- return -ENOMEM; -- } else if (bo_list && bo_list->has_userptr) -+ if (!amdgpu_enable_scheduler) - p->bo_list = bo_list; -- else -- p->bo_list = NULL; -+ else { -+ if (bo_list && !bo_list->has_userptr) { -+ p->bo_list = amdgpu_bo_list_clone(bo_list); -+ amdgpu_bo_list_put(bo_list); -+ if (!p->bo_list) -+ return -ENOMEM; -+ } else if (bo_list && bo_list->has_userptr) -+ p->bo_list = bo_list; -+ else -+ p->bo_list = NULL; -+ } - - /* get chunks */ - INIT_LIST_HEAD(&p->validated); -@@ -495,7 +499,7 @@ static void amdgpu_cs_parser_fini_late(struct amdgpu_cs_parser *parser) - if (parser->ctx) - amdgpu_ctx_put(parser->ctx); - if (parser->bo_list) { -- if (!parser->bo_list->has_userptr) -+ if (amdgpu_enable_scheduler && !parser->bo_list->has_userptr) - amdgpu_bo_list_free(parser->bo_list); - else - amdgpu_bo_list_put(parser->bo_list); --- -1.9.1 - |