1. 23 10月, 2018 3 次提交
  2. 04 10月, 2018 2 次提交
  3. 01 10月, 2018 1 次提交
  4. 27 9月, 2018 1 次提交
    • C
      drm/i915/execlists: Avoid kicking priority on the current context · a2bf92e8
      Chris Wilson 提交于
      If the request is currently on the HW (in port 0), then we do not need
      to kick the submission tasklet to evaluate whether we should be
      preempting itself in order to execute it again.
      
      In the case that was annoying me:
      
         execlists_schedule: rq(18:211173).prio=0 -> 2
         need_preempt: last(18:211174).prio=0, queue.prio=2
      
      We are bumping the priority of the first of a pair of requests running
      in the current context. Then when evaluating preempt, we would see that
      that our priority request is higher than the last executing request in
      ELSP0 and so trigger preemption, not realising that our intended request
      was already executing.
      
      v2: As we assume state of the execlists->port[] that is only valid while
      we hold the timeline lock we have to repeat some earlier tests that on
      the validity of the node.
      v3: Wrap guc submission under the timeline.lock as is now the way of all
      things.
      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/20180925083205.2229-2-chris@chris-wilson.co.uk
      a2bf92e8
  5. 20 9月, 2018 1 次提交
  6. 28 8月, 2018 1 次提交
  7. 24 7月, 2018 1 次提交
  8. 19 7月, 2018 1 次提交
  9. 17 7月, 2018 2 次提交
  10. 14 7月, 2018 1 次提交
    • C
      drm/i915/guc: Protect against no desc-pool on premature shutdown · 6710fcfc
      Chris Wilson 提交于
      Hopefully the final hack to get guc fault-injection happy before we can
      clean it up again, starting from a known good baseline...
      
      [  383.017530] BUG: unable to handle kernel NULL pointer dereference at 00000000000000a0
      [  383.017556] Oops: 0000 [#1] PREEMPT SMP PTI
      [  383.017566] CPU: 7 PID: 4725 Comm: drv_module_relo Tainted: G     U            4.18.0-rc4-CI-CI_DRM_4485+ #1
      [  383.017581] Hardware name: Micro-Star International Co., Ltd. MS-7B54/Z370M MORTAR (MS-7B54), BIOS 1.10 12/28/2017
      [  383.017664] RIP: 0010:guc_stage_desc_pool_destroy+0x17/0xe0 [i915]
      [  383.017674] Code: 59 a0 c6 05 02 59 18 00 01 e8 5e 01 c3 e0 eb b1 0f 1f 00 53 48 89 fb 48 81 c7 90 02 00 00 e8 60 64 45 e1 48 8b 83 80 02 00 00 <48> 8b 80 a0 00 00 00 48 8b 90 68 02 00 00 48 83 ea 01 48 81 fa ff
      [  383.017771] RSP: 0018:ffffc900004bbdd0 EFLAGS: 00010282
      [  383.017782] RAX: 0000000000000000 RBX: ffff88012ff41300 RCX: 0000000000000000
      [  383.017794] RDX: 0000000000000000 RSI: ffffc900004bbd80 RDI: 0000000000000000
      [  383.017805] RBP: ffff88012ff40000 R08: 00000000d876ee11 R09: 0000000000000000
      [  383.017817] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88012ff47770
      [  383.017828] R13: ffff88012ff40068 R14: ffff880264392ef8 R15: ffffffffa0639950
      [  383.017840] FS:  00007fb9c18c8980(0000) GS:ffff8802663c0000(0000) knlGS:0000000000000000
      [  383.017853] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  383.017864] CR2: 00000000000000a0 CR3: 00000001df6cc003 CR4: 00000000003606e0
      [  383.017875] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  383.017887] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [  383.017898] Call Trace:
      [  383.017962]  intel_uc_fini+0x34/0xd0 [i915]
      [  383.018020]  i915_gem_fini+0x5c/0x100 [i915]
      [  383.018093]  i915_driver_unload+0xd2/0x110 [i915]
      [  383.018150]  i915_pci_remove+0x10/0x20 [i915]
      [  383.018165]  pci_device_remove+0x36/0xb0
      [  383.018179]  device_release_driver_internal+0x185/0x250
      [  383.018193]  driver_detach+0x35/0x70
      [  383.018205]  bus_remove_driver+0x53/0xd0
      [  383.018217]  pci_unregister_driver+0x25/0xa0
      [  383.018232]  __se_sys_delete_module+0x162/0x210
      [  383.018245]  ? do_syscall_64+0xd/0x190
      [  383.018257]  do_syscall_64+0x55/0x190
      [  383.018270]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
      [  383.018282] RIP: 0033:0x7fb9c0f7c1b7
      [  383.018290] Code: 73 01 c3 48 8b 0d d1 8c 2c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 b8 b0 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d a1 8c 2c 00 f7 d8 64 89 01 48
      [  383.018408] RSP: 002b:00007fffa01c2aa8 EFLAGS: 00000206 ORIG_RAX: 00000000000000b0
      [  383.018425] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fb9c0f7c1b7
      [  383.018440] RDX: 0000000000000000 RSI: 0000000000000800 RDI: 0000560b96856d48
      [  383.018454] RBP: 0000560b96856ce0 R08: 0000560b96856d4c R09: 00007fffa01c2ae8
      [  383.018468] R10: 00007fffa01c1aa4 R11: 0000000000000206 R12: 0000560b954f7470
      
      Testcase: igt/drv_module_reload/basic-reload-inject
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Michał Winiarski <michal.winiarski@intel.com>
      Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: NMichal Wajdeczko <michal.wajdeczko@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180713172658.14070-1-chris@chris-wilson.co.uk
      6710fcfc
  11. 13 7月, 2018 1 次提交
    • C
      drm/i915/guc: Protect against NULL client dereference in error path · 55fe0768
      Chris Wilson 提交于
      After aborting a module load, we may try and disable guc before we have
      finished setting it. Long term plan is to ensure perfect onion unwind,
      but in the short term we want to fix the oops to re-enable
      drv_module_reload.
      
      [  317.401239] BUG: unable to handle kernel NULL pointer dereference at 0000000000000030
      [  317.401279] Oops: 0000 [#1] PREEMPT SMP PTI
      [  317.401294] CPU: 5 PID: 4275 Comm: drv_module_relo Tainted: G     U            4.18.0-rc4-CI-CI_DRM_4476+ #1
      [  317.401317] Hardware name: System manufacturer System Product Name/Z170M-PLUS, BIOS 3610 03/29/2018
      [  317.401440] RIP: 0010:unreserve_doorbell+0x0/0x80 [i915]
      [  317.401454] Code: bb e0 48 8b 35 21 4d 18 00 49 c7 c0 a8 e5 62 a0 b9 cc 00 00 00 48 c7 c2 d8 41 5f a0 48 c7 c7 c9 f6 53 a0 e8 a2 3d c2 e0 0f 0b <0f> b7 47 30 66 3d 00 01 74 20 48 8b 57 18 48 0f a3 82 40 05 00 00
      [  317.401602] RSP: 0018:ffffc900003d3da0 EFLAGS: 00010246
      [  317.401619] RAX: ffffffff8223b300 RBX: 0000000000000000 RCX: 0000000000000000
      [  317.401636] RDX: 0000001fffffffc0 RSI: ffff880219f115f0 RDI: 0000000000000000
      [  317.401654] RBP: ffff880219f11838 R08: 0000000000000000 R09: 0000000000000000
      [  317.401671] R10: 0000000000000000 R11: 0000000000000000 R12: ffff880219f11300
      [  317.401689] R13: ffff880219f17770 R14: ffff88022c1daef8 R15: ffffffffa06ae950
      [  317.401707] FS:  00007febf77a9980(0000) GS:ffff880236d40000(0000) knlGS:0000000000000000
      [  317.401727] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  317.401743] CR2: 0000000000000030 CR3: 0000000222072003 CR4: 00000000003606e0
      [  317.401761] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  317.401779] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [  317.401796] Call Trace:
      [  317.401894]  guc_client_free+0x9/0x130 [i915]
      [  317.401993]  intel_guc_submission_fini+0x50/0x90 [i915]
      [  317.402092]  intel_uc_fini+0x34/0xd0 [i915]
      [  317.402179]  i915_gem_fini+0x5c/0x100 [i915]
      [  317.402249]  i915_driver_unload+0xd2/0x110 [i915]
      [  317.402321]  i915_pci_remove+0x10/0x20 [i915]
      [  317.402341]  pci_device_remove+0x36/0xb0
      [  317.402357]  device_release_driver_internal+0x185/0x250
      [  317.402374]  driver_detach+0x35/0x70
      [  317.402390]  bus_remove_driver+0x53/0xd0
      [  317.402404]  pci_unregister_driver+0x25/0xa0
      [  317.402423]  __se_sys_delete_module+0x162/0x210
      [  317.402439]  ? do_syscall_64+0xd/0x190
      [  317.402454]  do_syscall_64+0x55/0x190
      [  317.402470]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
      [  317.402485] RIP: 0033:0x7febf6e5d1b7
      [  317.402496] Code: 73 01 c3 48 8b 0d d1 8c 2c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 b8 b0 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d a1 8c 2c 00 f7 d8 64 89 01 48
      [  317.402646] RSP: 002b:00007fffb5e72798 EFLAGS: 00000206 ORIG_RAX: 00000000000000b0
      [  317.402667] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007febf6e5d1b7
      [  317.402686] RDX: 0000000000000000 RSI: 0000000000000800 RDI: 0000562da1addd98
      [  317.402703] RBP: 0000562da1addd30 R08: 0000562da1addd9c R09: 00007fffb5e727d8
      [  317.402721] R10: 00007fffb5e71794 R11: 0000000000000206 R12: 0000562da0ff6470
      
      Testcase: igt/drv_module_reload/basic-reload-inject
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Michał Winiarski <michal.winiarski@intel.com>
      Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
      Reviewed-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180712202027.19801-1-chris@chris-wilson.co.uk
      55fe0768
  12. 12 7月, 2018 1 次提交
  13. 11 7月, 2018 1 次提交
  14. 06 6月, 2018 2 次提交
  15. 18 5月, 2018 2 次提交
  16. 17 5月, 2018 2 次提交
  17. 09 5月, 2018 1 次提交
  18. 03 5月, 2018 2 次提交
  19. 30 4月, 2018 1 次提交
  20. 19 4月, 2018 2 次提交
  21. 04 4月, 2018 1 次提交
  22. 03 4月, 2018 1 次提交
  23. 19 3月, 2018 1 次提交
  24. 14 3月, 2018 1 次提交
    • J
      drm/i915/guc: Rename guc_ggtt_offset to intel_guc_ggtt_offset · 3c009e3c
      Jackie Li 提交于
      GuC related exported functions should start with "intel_guc_" prefix and
      pass intel_guc as the first parameter since its GuC related. Current
      guc_ggtt_offset() failed to follow this code convention and this is a
      problem for future patches that needs to access intel_guc data to verify
      the GGTT offset against the GuC WOPCM top.
      
      This patch renames the guc_ggtt_offset to intel_guc_ggtt_offset and updates
      the related code to pass intel_guc pointer to this function call, so that
      we can have a unified coding style for GuC code and also enable the future
      patches to get GuC related data from intel_guc to do the offset
      verification. Meanwhile, this patch also moves the GUC_GGTT_TOP from
      intel_guc_regs.h to intel_guc.h since it is not GuC register related
      definition.
      
      v8:
       - Fixed coding style issues and moved GUC_GGTT_TOP to intel_guc.h (Sagar)
       - Updated commit message to explain to reason and motivation to add
         intel_guc as the first parameter of intel_guc_ggtt_offset (Chris)
      
      v9:
       - Fixed code alignment issue due to line break (Chris)
      
      v10:
       - Removed unnecessary comments, redundant code and avoided reuse variable
         to avoid potential issues (Joonas)
      
      v13:
       - Updated the ordering of s-o-b/cc/r-b tags (Sagar)
      Signed-off-by: NJackie Li <yaodong.li@intel.com>
      Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
      Cc: Sagar Arun Kamble <sagar.a.kamble@intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@intel.com> (v8)
      Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> (v9)
      Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com> (v11)
      Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> (v12)
      Reviewed-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Signed-off-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/1520987574-19351-1-git-send-email-yaodong.li@intel.com
      3c009e3c
  25. 27 2月, 2018 1 次提交
  26. 24 2月, 2018 1 次提交
  27. 22 2月, 2018 1 次提交
  28. 16 2月, 2018 1 次提交
  29. 08 2月, 2018 2 次提交
  30. 03 1月, 2018 1 次提交