]> git.pld-linux.org Git - packages/kernel.git/blob - i915_crash.patch
- 4.14.106
[packages/kernel.git] / i915_crash.patch
1 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
2 --- linux-4.14.orig/drivers/gpu/drm/i915/i915_gem_gtt.c 2017-11-12 19:46:13.000000000 +0100
3 +++ linux-4.14/drivers/gpu/drm/i915/i915_gem_gtt.c      2018-11-14 20:15:43.380387823 +0100
4 @@ -1099,14 +1099,17 @@
5  
6         gen8_for_each_pde(pt, pd, start, length, pde) {
7                 if (pt == vm->scratch_pt) {
8 +                       pd->used_pdes++;
9 +
10                         pt = alloc_pt(vm);
11 -                       if (IS_ERR(pt))
12 +                       if (IS_ERR(pt)) {
13 +                               pd->used_pdes--;
14                                 goto unwind;
15 +                       }
16  
17                         gen8_initialize_pt(vm, pt);
18  
19                         gen8_ppgtt_set_pde(vm, pd, pt, pde);
20 -                       pd->used_pdes++;
21                         GEM_BUG_ON(pd->used_pdes > I915_PDES);
22                 }
23  
24 @@ -1130,13 +1133,16 @@
25  
26         gen8_for_each_pdpe(pd, pdp, start, length, pdpe) {
27                 if (pd == vm->scratch_pd) {
28 +                       pdp->used_pdpes++;
29 +
30                         pd = alloc_pd(vm);
31 -                       if (IS_ERR(pd))
32 +                       if (IS_ERR(pd)) {
33 +                               pdp->used_pdpes--;
34                                 goto unwind;
35 +                       }
36  
37                         gen8_initialize_pd(vm, pd);
38                         gen8_ppgtt_set_pdpe(vm, pdp, pd, pdpe);
39 -                       pdp->used_pdpes++;
40                         GEM_BUG_ON(pdp->used_pdpes > i915_pdpes_per_pdp(vm));
41  
42                         mark_tlbs_dirty(i915_vm_to_ppgtt(vm));
This page took 0.144924 seconds and 3 git commands to generate.