aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0530-drm-amdgpu-fix-buffer-placement-under-memory-pressur.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0530-drm-amdgpu-fix-buffer-placement-under-memory-pressur.patch')
-rw-r--r--common/recipes-kernel/linux/files/0530-drm-amdgpu-fix-buffer-placement-under-memory-pressur.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0530-drm-amdgpu-fix-buffer-placement-under-memory-pressur.patch b/common/recipes-kernel/linux/files/0530-drm-amdgpu-fix-buffer-placement-under-memory-pressur.patch
new file mode 100644
index 00000000..b85bb879
--- /dev/null
+++ b/common/recipes-kernel/linux/files/0530-drm-amdgpu-fix-buffer-placement-under-memory-pressur.patch
@@ -0,0 +1,38 @@
+From 270e869d846af143f60b7404e01e785d18420007 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
+Date: Wed, 2 Sep 2015 20:25:48 +0200
+Subject: [PATCH 0530/1050] drm/amdgpu: fix buffer placement under memory
+ pressure
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Some buffers (UVD/VM page tables) must be placed in VRAM,
+but the byte restriction for moving buffers didn't took this
+into account.
+
+Port of radeon commit 4b09556660bfe1b43d72ca858524c6baf2c6cb1d.
+
+Signed-off-by: Christian König <christian.koenig@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+index 6a206f1..3b355ae 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+@@ -354,7 +354,7 @@ int amdgpu_cs_list_validate(struct amdgpu_cs_parser *p)
+ * into account. We don't want to disallow buffer moves
+ * completely.
+ */
+- if (current_domain != AMDGPU_GEM_DOMAIN_CPU &&
++ if ((lobj->allowed_domains & current_domain) != 0 &&
+ (domain & current_domain) == 0 && /* will be moved */
+ bytes_moved > bytes_moved_threshold) {
+ /* don't move it */
+--
+1.9.1
+