aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0377-drm-amdgpu-Fix-two-bugs-in-amdgpu_vm_bo_split_mappin.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0377-drm-amdgpu-Fix-two-bugs-in-amdgpu_vm_bo_split_mappin.patch')
-rw-r--r--common/recipes-kernel/linux/files/0377-drm-amdgpu-Fix-two-bugs-in-amdgpu_vm_bo_split_mappin.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0377-drm-amdgpu-Fix-two-bugs-in-amdgpu_vm_bo_split_mappin.patch b/common/recipes-kernel/linux/files/0377-drm-amdgpu-Fix-two-bugs-in-amdgpu_vm_bo_split_mappin.patch
new file mode 100644
index 00000000..2c06d178
--- /dev/null
+++ b/common/recipes-kernel/linux/files/0377-drm-amdgpu-Fix-two-bugs-in-amdgpu_vm_bo_split_mappin.patch
@@ -0,0 +1,44 @@
+From 97066c93d6552e25e9bbe4dd501d348820d68c19 Mon Sep 17 00:00:00 2001
+From: Felix Kuehling <Felix.Kuehling@amd.com>
+Date: Thu, 3 Mar 2016 19:13:20 -0500
+Subject: [PATCH 0377/1110] drm/amdgpu: Fix two bugs in
+ amdgpu_vm_bo_split_mapping
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Off-by-one: last is inclusive, so the maximum is start + max_size - 1
+Wrong unit: addr is in bytes, max_size is in pages
+
+Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
+Reviewed-by: Christian König <christian.koenig@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+index 99afc64..a80de65 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+@@ -872,7 +872,7 @@ static int amdgpu_vm_bo_split_mapping(struct amdgpu_device *adev,
+ while (start != mapping->it.last + 1) {
+ uint64_t last;
+
+- last = min((uint64_t)mapping->it.last, start + max_size);
++ last = min((uint64_t)mapping->it.last, start + max_size - 1);
+ r = amdgpu_vm_bo_update_mapping(adev, gtt, gtt_flags, vm,
+ start, last, flags, addr,
+ fence);
+@@ -880,7 +880,7 @@ static int amdgpu_vm_bo_split_mapping(struct amdgpu_device *adev,
+ return r;
+
+ start = last + 1;
+- addr += max_size;
++ addr += max_size * AMDGPU_GPU_PAGE_SIZE;
+ }
+
+ return 0;
+--
+2.7.4
+