aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0183-drm-amdgpu-fix-bug-occurs-when-bo_list-is-NULL.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0183-drm-amdgpu-fix-bug-occurs-when-bo_list-is-NULL.patch')
-rw-r--r--meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0183-drm-amdgpu-fix-bug-occurs-when-bo_list-is-NULL.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0183-drm-amdgpu-fix-bug-occurs-when-bo_list-is-NULL.patch b/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0183-drm-amdgpu-fix-bug-occurs-when-bo_list-is-NULL.patch
new file mode 100644
index 00000000..cffc6f8a
--- /dev/null
+++ b/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0183-drm-amdgpu-fix-bug-occurs-when-bo_list-is-NULL.patch
@@ -0,0 +1,53 @@
+From 840d51445f1527bda37b5d48a203ecff7988ad2b Mon Sep 17 00:00:00 2001
+From: "monk.liu" <monk.liu@amd.com>
+Date: Mon, 27 Apr 2015 15:19:20 +0800
+Subject: [PATCH 0183/1050] drm/amdgpu: fix bug occurs when bo_list is NULL
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Still need to handle ibs BO and validate them even bo_list is NULL
+
+Signed-off-by: Monk.Liu <monk.liu@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_cs.c | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+index 70a9031..ffbe9aa 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+@@ -353,19 +353,19 @@ static int amdgpu_cs_parser_relocs(struct amdgpu_cs_parser *p)
+ {
+ struct amdgpu_fpriv *fpriv = p->filp->driver_priv;
+ struct amdgpu_cs_buckets buckets;
+- bool need_mmap_lock;
++ bool need_mmap_lock = false;
+ int i, r;
+
+- if (p->bo_list == NULL)
+- return 0;
++ if (p->bo_list) {
++ need_mmap_lock = p->bo_list->has_userptr;
++ amdgpu_cs_buckets_init(&buckets);
++ for (i = 0; i < p->bo_list->num_entries; i++)
++ amdgpu_cs_buckets_add(&buckets, &p->bo_list->array[i].tv.head,
++ p->bo_list->array[i].priority);
+
+- need_mmap_lock = p->bo_list->has_userptr;
+- amdgpu_cs_buckets_init(&buckets);
+- for (i = 0; i < p->bo_list->num_entries; i++)
+- amdgpu_cs_buckets_add(&buckets, &p->bo_list->array[i].tv.head,
+- p->bo_list->array[i].priority);
++ amdgpu_cs_buckets_get_list(&buckets, &p->validated);
++ }
+
+- amdgpu_cs_buckets_get_list(&buckets, &p->validated);
+ p->vm_bos = amdgpu_vm_get_bos(p->adev, &fpriv->vm,
+ &p->validated);
+
+--
+1.9.1
+