1. 04 10月, 2019 5 次提交
  2. 13 9月, 2019 1 次提交
  3. 11 9月, 2019 2 次提交
  4. 10 9月, 2019 2 次提交
  5. 03 9月, 2019 1 次提交
  6. 31 8月, 2019 1 次提交
  7. 30 8月, 2019 1 次提交
  8. 27 8月, 2019 1 次提交
  9. 24 8月, 2019 3 次提交
  10. 22 8月, 2019 1 次提交
  11. 21 8月, 2019 3 次提交
  12. 20 8月, 2019 3 次提交
  13. 17 8月, 2019 1 次提交
  14. 16 8月, 2019 1 次提交
  15. 15 8月, 2019 1 次提交
  16. 13 8月, 2019 1 次提交
  17. 10 8月, 2019 1 次提交
  18. 07 8月, 2019 2 次提交
  19. 30 7月, 2019 1 次提交
  20. 29 7月, 2019 3 次提交
    • C
      drm/i915: Flush the i915_vm_release before ggtt shutdown · 60a4233a
      Chris Wilson 提交于
      As the gen6_ppgtt may refer back to the GGTT for their page-directory
      slots, make sure those __i915_vm_release are completed prior to shutting
      down the GGTT.
      
      Fixes: b32fa811 ("drm/i915/gtt: Defer address space cleanup to an RCU worker")
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190729132412.23380-1-chris@chris-wilson.co.uk
      60a4233a
    • C
      drm/i915/gtt: Mark the freed page table entries with scratch · 5f4c82c8
      Chris Wilson 提交于
      On unwinding the allocation error path and having freed the page table
      entry, it is imperative that we mark it as scratch.
      
      <4> [416.075569] general protection fault: 0000 [#1] PREEMPT SMP PTI
      <4> [416.075801] CPU: 0 PID: 2385 Comm: kworker/u2:11 Tainted: G     U            5.2.0-rc7-CI-Patchwork_13534+ #1
      <4> [416.076162] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.10.1-0-g8891697-prebuilt.qemu-project.org 04/01/2014
      <4> [416.076522] Workqueue: i915 __i915_vm_release [i915]
      <4> [416.076754] RIP: 0010:gen8_ppgtt_cleanup_3lvl+0x58/0xb0 [i915]
      <4> [416.077023] Code: 81 e2 04 fe ff ff 81 c2 ff 01 00 00 4c 8d 74 d6 58 4d 8b 65 00 4d 3b a7 28 02 00 00 74 40 49 8d 5c 24 50 49 81 c4 50 10 00 00 <48> 8b 2b 49 3b af 20 02 00 00 74 13 4c 89 ff 48 89 ee e8 01 fb ff
      <4> [416.077445] RSP: 0018:ffffc9000046bd98 EFLAGS: 00010206
      <4> [416.077625] RAX: 0001000000000000 RBX: 6b6b6b6b6b6b6bbb RCX: 8b4b56d500000000
      <4> [416.077838] RDX: 00000000000001ff RSI: ffff88805a578008 RDI: ffff88805bd0efc8
      <4> [416.078167] RBP: ffff88805bd0efc8 R08: 0000000004e42b93 R09: 0000000000000001
      <4> [416.078381] R10: 0000000000000000 R11: ffff888077a1b0b8 R12: 6b6b6b6b6b6b7bbb
      <4> [416.078594] R13: ffff88805a578058 R14: ffff88805a579058 R15: ffff88805bd0efc8
      <4> [416.078815] FS:  0000000000000000(0000) GS:ffff88807da00000(0000) knlGS:0000000000000000
      <4> [416.079395] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      <4> [416.079851] CR2: 000056160fec2b14 CR3: 0000000071bbc003 CR4: 00000000003606f0
      <4> [416.080388] Call Trace:
      <4> [416.080828]  gen8_ppgtt_cleanup+0x64/0x100 [i915]
      <4> [416.081399]  __i915_vm_release+0xfc/0x1d0 [i915]
      
      Fixes: 1d1b5490 ("drm/i915/gtt: Replace struct_mutex serialisation for allocation")
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Matthew Auld <matthew.auld@intel.com>
      Cc: Mika Kuoppala <mika.kuoppala@intel.com>
      Reviewed-by: NMatthew Auld <matthew.auld@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190704201656.15775-1-chris@chris-wilson.co.uk
      (cherry picked from commit e7539b79)
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      5f4c82c8
    • C
      drm/i915/gtt: Defer the free for alloc error paths · f691eaa4
      Chris Wilson 提交于
      If we hit an error while allocating the page tables, we have to unwind
      the incomplete updates, and wish to free the unused pd. However, we are
      not allowed to be hoding the spinlock at that point, and so must use the
      later free to defer it until after we drop the lock.
      
      <3> [414.363795] BUG: sleeping function called from invalid context at drivers/gpu/drm/i915/i915_gem_gtt.c:472
      <3> [414.364167] in_atomic(): 1, irqs_disabled(): 0, pid: 3905, name: i915_selftest
      <4> [414.364406] 3 locks held by i915_selftest/3905:
      <4> [414.364408]  #0: 0000000034fe8aa8 (&dev->mutex){....}, at: device_driver_attach+0x18/0x50
      <4> [414.364415]  #1: 000000006bd8a560 (&dev->struct_mutex){+.+.}, at: igt_ctx_exec+0xb7/0x410 [i915]
      <4> [414.364476]  #2: 000000003dfdc766 (&(&pd->lock)->rlock){+.+.}, at: gen8_ppgtt_alloc_pdp+0x448/0x540 [i915]
      <3> [414.364529] Preemption disabled at:
      <4> [414.364530] [<0000000000000000>] 0x0
      <4> [414.364696] CPU: 0 PID: 3905 Comm: i915_selftest Tainted: G     U            5.2.0-rc7-CI-CI_DRM_6403+ #1
      <4> [414.364698] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.10.1-0-g8891697-prebuilt.qemu-project.org 04/01/2014
      <4> [414.364699] Call Trace:
      <4> [414.364704]  dump_stack+0x67/0x9b
      <4> [414.364708]  ___might_sleep+0x167/0x250
      <4> [414.364777]  vm_free_page+0x24/0xc0 [i915]
      <4> [414.364852]  free_pd+0xf/0x20 [i915]
      <4> [414.364897]  gen8_ppgtt_alloc_pdp+0x489/0x540 [i915]
      <4> [414.364946]  gen8_ppgtt_alloc_4lvl+0x8e/0x2e0 [i915]
      <4> [414.364992]  ppgtt_bind_vma+0x2e/0x60 [i915]
      <4> [414.365039]  i915_vma_bind+0xe8/0x2c0 [i915]
      <4> [414.365088]  __i915_vma_do_pin+0xa1/0xd20 [i915]
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111050
      Fixes: 1d1b5490 ("drm/i915/gtt: Replace struct_mutex serialisation for allocation")
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Matthew Auld <matthew.auld@intel.com>
      Cc: Mika Kuoppala <mika.kuoppala@intel.com>
      Reviewed-by: NMika Kuoppala <mika.kuoppala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190703171913.16585-3-chris@chris-wilson.co.uk
      (cherry picked from commit 06861089)
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      f691eaa4
  21. 23 7月, 2019 2 次提交
  22. 20 7月, 2019 2 次提交
  23. 16 7月, 2019 1 次提交