aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/5007-drm-amdgpu-reduce-the-number-of-placements-for-a-BO.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/5007-drm-amdgpu-reduce-the-number-of-placements-for-a-BO.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/5007-drm-amdgpu-reduce-the-number-of-placements-for-a-BO.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/5007-drm-amdgpu-reduce-the-number-of-placements-for-a-BO.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/5007-drm-amdgpu-reduce-the-number-of-placements-for-a-BO.patch
new file mode 100644
index 00000000..3b6ee3e0
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/5007-drm-amdgpu-reduce-the-number-of-placements-for-a-BO.patch
@@ -0,0 +1,57 @@
+From caee5a48d469fe62e96416b75b03d9ed1fa6f695 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
+Date: Wed, 18 Jul 2018 11:16:35 +0200
+Subject: [PATCH 5007/5725] drm/amdgpu: reduce the number of placements for a
+ BO
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Make struct amdgpu_bo a bit smaller.
+
+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: Raveendra Talabattula <raveendra.talabattula@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 2 ++
+ drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 3 ++-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
+index e61d122..e8f43d0 100755
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
+@@ -240,6 +240,8 @@ void amdgpu_bo_placement_from_domain(struct amdgpu_bo *abo, u32 domain)
+ if (flags & AMDGPU_GEM_CREATE_TOP_DOWN)
+ places[i].flags |= TTM_PL_FLAG_TOPDOWN;
+
++ BUG_ON(c >= AMDGPU_BO_MAX_PLACEMENTS);
++
+ placement->num_placement = c;
+ placement->placement = places;
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
+index 93c4325..ae4d06c 100755
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
+@@ -32,6 +32,7 @@
+ #include "amdgpu.h"
+
+ #define AMDGPU_BO_INVALID_OFFSET LONG_MAX
++#define AMDGPU_BO_MAX_PLACEMENTS 3
+
+ struct amdgpu_bo_param {
+ unsigned long size;
+@@ -77,7 +78,7 @@ struct amdgpu_bo {
+ /* Protected by tbo.reserved */
+ u32 preferred_domains;
+ u32 allowed_domains;
+- struct ttm_place placements[AMDGPU_GEM_DOMAIN_MAX + 1];
++ struct ttm_place placements[AMDGPU_BO_MAX_PLACEMENTS];
+ struct ttm_placement placement;
+ struct ttm_buffer_object tbo;
+ struct ttm_bo_kmap_obj kmap;
+--
+2.7.4
+