1. 25 3月, 2021 1 次提交
  2. 24 12月, 2020 1 次提交
  3. 06 10月, 2020 1 次提交
  4. 07 9月, 2020 2 次提交
  5. 09 7月, 2020 4 次提交
  6. 07 7月, 2020 1 次提交
  7. 26 5月, 2020 1 次提交
  8. 01 5月, 2020 1 次提交
  9. 30 4月, 2020 1 次提交
    • C
      drm/i915/gt: Keep a no-frills swappable copy of the default context state · be1cb55a
      Chris Wilson 提交于
      We need to keep the default context state around to instantiate new
      contexts (aka golden rendercontext), and we also keep it pinned while
      the engine is active so that we can quickly reset a hanging context.
      However, the default contexts are large enough to merit keeping in
      swappable memory as opposed to kernel memory, so we store them inside
      shmemfs. Currently, we use the normal GEM objects to create the default
      context image, but we can throw away all but the shmemfs file.
      
      This greatly simplifies the tricky power management code which wants to
      run underneath the normal GT locking, and we definitely do not want to
      use any high level objects that may appear to recurse back into the GT.
      Though perhaps the primary advantage of the complex GEM object is that
      we aggressively cache the mapping, but here we are recreating the
      vm_area everytime time we unpark. At the worst, we add a lightweight
      cache, but first find a microbenchmark that is impacted.
      
      Having started to create some utility functions to make working with
      shmemfs objects easier, we can start putting them to wider use, where
      GEM objects are overkill, such as storing persistent error state.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Matthew Auld <matthew.auld@intel.com>
      Cc: Ramalingam C <ramalingam.c@intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NMatthew Auld <matthew.auld@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200429172429.6054-1-chris@chris-wilson.co.uk
      be1cb55a
  10. 25 4月, 2020 1 次提交
  11. 27 3月, 2020 1 次提交
  12. 13 3月, 2020 1 次提交
  13. 22 2月, 2020 1 次提交
  14. 21 2月, 2020 1 次提交
  15. 31 1月, 2020 1 次提交
  16. 30 1月, 2020 1 次提交
  17. 29 1月, 2020 1 次提交
  18. 28 1月, 2020 1 次提交
  19. 08 1月, 2020 1 次提交
  20. 26 12月, 2019 2 次提交
  21. 22 12月, 2019 5 次提交
  22. 19 11月, 2019 1 次提交
  23. 16 11月, 2019 1 次提交
  24. 05 11月, 2019 1 次提交
  25. 01 11月, 2019 2 次提交
  26. 30 10月, 2019 1 次提交
    • C
      drm/i915/gt: Always track callers to intel_rps_mark_interactive() · a06375a9
      Chris Wilson 提交于
      During startup, we may find ourselves in an interesting position where
      we haven't fully enabled RPS before the display starts trying to use it.
      This may lead to an imbalance in our "interactive" counter:
      
      <3>[    4.813326] intel_rps_mark_interactive:652 GEM_BUG_ON(!rps->power.interactive)
      <4>[    4.813396] ------------[ cut here ]------------
      <2>[    4.813398] kernel BUG at drivers/gpu/drm/i915/gt/intel_rps.c:652!
      <4>[    4.813430] invalid opcode: 0000 [#1] PREEMPT SMP PTI
      <4>[    4.813438] CPU: 1 PID: 18 Comm: kworker/1:0H Not tainted 5.4.0-rc5-CI-CI_DRM_7209+ #1
      <4>[    4.813447] Hardware name:  /NUC7i5BNB, BIOS BNKBL357.86A.0054.2017.1025.1822 10/25/2017
      <4>[    4.813525] Workqueue: events_highpri intel_atomic_cleanup_work [i915]
      <4>[    4.813589] RIP: 0010:intel_rps_mark_interactive+0xb3/0xc0 [i915]
      <4>[    4.813597] Code: bc 3f de e0 48 8b 35 84 2e 24 00 49 c7 c0 f3 d4 4e a0 b9 8c 02 00 00 48 c7 c2 80 9c 48 a0 48 c7 c7 3e 73 34 a0 e8 8d 3b e5 e0 <0f> 0b 90 66 2e 0f 1f 84 00 00 00 00 00 80 bf c0 00 00 00 00 74 32
      <4>[    4.813616] RSP: 0018:ffffc900000efe00 EFLAGS: 00010286
      <4>[    4.813623] RAX: 000000000000000e RBX: ffff8882583cc7f0 RCX: 0000000000000000
      <4>[    4.813631] RDX: 0000000000000001 RSI: 0000000000000008 RDI: ffff888275969c00
      <4>[    4.813639] RBP: 0000000000000000 R08: 0000000000000008 R09: ffff888275ace000
      <4>[    4.813646] R10: ffffc900000efe00 R11: ffff888275969c00 R12: ffff8882583cc8d8
      <4>[    4.813654] R13: ffff888276abce00 R14: 0000000000000000 R15: ffff88825e878860
      <4>[    4.813662] FS:  0000000000000000(0000) GS:ffff888276a80000(0000) knlGS:0000000000000000
      <4>[    4.813672] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      <4>[    4.813678] CR2: 00007f051d5ca0a8 CR3: 0000000262f48001 CR4: 00000000003606e0
      <4>[    4.813686] Call Trace:
      <4>[    4.813755]  intel_cleanup_plane_fb+0x4e/0x60 [i915]
      <4>[    4.813764]  drm_atomic_helper_cleanup_planes+0x4d/0x70
      <4>[    4.813833]  intel_atomic_cleanup_work+0x15/0x80 [i915]
      <4>[    4.813842]  process_one_work+0x26a/0x620
      <4>[    4.813850]  worker_thread+0x37/0x380
      <4>[    4.813857]  ? process_one_work+0x620/0x620
      <4>[    4.813864]  kthread+0x119/0x130
      <4>[    4.813870]  ? kthread_park+0x80/0x80
      <4>[    4.813878]  ret_from_fork+0x3a/0x50
      <4>[    4.813887] Modules linked in: i915(+) mei_hdcp x86_pkg_temp_thermal coretemp crct10dif_pclmul crc32_pclmul btusb btrtl btbcm btintel snd_hda_intel snd_intel_nhlt snd_hda_codec bluetooth snd_hwdep snd_hda_core ghash_clmulni_intel snd_pcm e1000e ecdh_generic ecc ptp pps_core mei_me mei prime_numbers
      <4>[    4.813934] ---[ end trace c13289af88174ffc ]---
      
      The solution employed is to not worry about RPS state and keep the tally
      of the interactive counter separate. When we do enable RPS, we will then
      take the display activity into account.
      
      Fixes: 3e7abf81 ("drm/i915: Extract GT render power state management")
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Andi Shyti <andi.shyti@intel.com>
      Acked-by: NAndi Shyti <andi.shyti@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191030103827.2413-1-chris@chris-wilson.co.uk
      a06375a9
  27. 27 10月, 2019 1 次提交
  28. 24 10月, 2019 1 次提交
  29. 18 10月, 2019 2 次提交