]> git.pld-linux.org Git - packages/kernel.git/commitdiff
i915_crash.patch added auto/th/kernel-4.14-rt-4.14.81-1
authorJacek Konieczny <jajcus@jajcus.net>
Wed, 14 Nov 2018 19:17:40 +0000 (20:17 +0100)
committerJacek Konieczny <jajcus@jajcus.net>
Wed, 14 Nov 2018 19:17:40 +0000 (20:17 +0100)
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=104773
"GPF in i915 call to gen8_ppgtt_alloc_pdp causes laptop to hang"

i915_crash.patch [new file with mode: 0644]
kernel.spec

diff --git a/i915_crash.patch b/i915_crash.patch
new file mode 100644 (file)
index 0000000..7fc60ad
--- /dev/null
@@ -0,0 +1,42 @@
+diff -dur -x '*~' -x '*.orig' -x '*.rej' linux-4.14.orig/drivers/gpu/drm/i915/i915_gem_gtt.c linux-4.14/drivers/gpu/drm/i915/i915_gem_gtt.c
+--- linux-4.14.orig/drivers/gpu/drm/i915/i915_gem_gtt.c        2017-11-12 19:46:13.000000000 +0100
++++ linux-4.14/drivers/gpu/drm/i915/i915_gem_gtt.c     2018-11-14 20:15:43.380387823 +0100
+@@ -1099,14 +1099,17 @@
+       gen8_for_each_pde(pt, pd, start, length, pde) {
+               if (pt == vm->scratch_pt) {
++                      pd->used_pdes++;
++
+                       pt = alloc_pt(vm);
+-                      if (IS_ERR(pt))
++                      if (IS_ERR(pt)) {
++                              pd->used_pdes--;
+                               goto unwind;
++                      }
+                       gen8_initialize_pt(vm, pt);
+                       gen8_ppgtt_set_pde(vm, pd, pt, pde);
+-                      pd->used_pdes++;
+                       GEM_BUG_ON(pd->used_pdes > I915_PDES);
+               }
+@@ -1130,13 +1133,16 @@
+       gen8_for_each_pdpe(pd, pdp, start, length, pdpe) {
+               if (pd == vm->scratch_pd) {
++                      pdp->used_pdpes++;
++
+                       pd = alloc_pd(vm);
+-                      if (IS_ERR(pd))
++                      if (IS_ERR(pd)) {
++                              pdp->used_pdpes--;
+                               goto unwind;
++                      }
+                       gen8_initialize_pd(vm, pd);
+                       gen8_ppgtt_set_pdpe(vm, pdp, pd, pdpe);
+-                      pdp->used_pdpes++;
+                       GEM_BUG_ON(pdp->used_pdpes > i915_pdpes_per_pdp(vm));
+                       mark_tlbs_dirty(i915_vm_to_ppgtt(vm));
index 79f6027d1fa2c480f795f38cd627a6f7d483075d..955cbc6271d0fba6ca55b282181ac8c6380df600 100644 (file)
@@ -150,6 +150,9 @@ Source55:   kernel-imq.config
 
 Source58:      kernel-inittmpfs.config
 
+# https://bugs.freedesktop.org/show_bug.cgi?id=104773
+Patch2:                i915_crash.patch
+
 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
 Patch3:                kernel-fbcondecor.patch
 Patch6:                linux-wistron-nx.patch
@@ -624,6 +627,8 @@ cd linux-%{basever}
 
 %if %{without vanilla}
 
+%patch2 -p1
+
 %if %{with fbcondecor}
 %patch3 -p1
 %endif
This page took 0.100398 seconds and 4 git commands to generate.