1. 18 Oct, 2023 4 commits
  2. 17 Oct, 2023 2 commits
  3. 16 Oct, 2023 1 commit
  4. 10 Oct, 2023 2 commits
  5. 09 Oct, 2023 2 commits
  6. 07 Oct, 2023 1 commit
  7. 04 Oct, 2023 1 commit
  8. 03 Oct, 2023 3 commits
  9. 30 Sep, 2023 8 commits
  10. 29 Sep, 2023 4 commits
  11. 28 Sep, 2023 1 commit
  12. 27 Sep, 2023 1 commit
    • Tvrtko Ursulin's avatar
      drm/i915: Do not disable preemption for resets · 1e975e59
      Tvrtko Ursulin authored
      Commit ade8a0f5 ("drm/i915: Make all GPU resets atomic") added a
      preempt disable section over the hardware reset callback to prepare the
      driver for being able to reset from atomic contexts.
      
      In retrospect I can see that the work item at a time was about removing
      the struct mutex from the reset path. Code base also briefly entertained
      the idea of doing the reset under stop_machine in order to serialize
      userspace mmap and temporary glitch in the fence registers (see
      eb8d0f5a ("drm/i915: Remove GPU reset dependence on struct_mutex"),
      but that never materialized and was soon removed in 2caffbf1
      ("drm/i915: Revoke mmaps and prevent access to fence registers across
      reset") and replaced with a SRCU based solution.
      
      As such, as far as I can see, today we still have a requirement that
      resets must not sleep (invoked from submission tasklets), but no need to
      support invoking them from a truly atomic context.
      
      Given that the preemption section is problematic on RT kernels, since the
      uncore lock becomes a sleeping lock and so is invalid in such section,
      lets try and remove it. Potential downside is that our short waits on GPU
      to complete the reset may get extended if CPU scheduling interferes, but
      in practice that probably isn't a deal breaker.
      
      In terms of mechanics, since the preemption disabled block is being
      removed we just need to replace a few of the wait_for_atomic macros into
      busy looping versions which will work (and not complain) when called from
      non-atomic sections.
      
      v2:
       * Fix timeouts which are now in us. (Andi)
       * Update one comment as a drive by. (Andi)
      Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Chris Wilson <chris.p.wilson@intel.com>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
      Cc: Andi Shyti <andi.shyti@linux.intel.com>
      Reviewed-by: default avatarAndi Shyti <andi.shyti@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230926100855.61722-1-tvrtko.ursulin@linux.intel.com
      1e975e59
  13. 26 Sep, 2023 2 commits
  14. 25 Sep, 2023 3 commits
  15. 21 Sep, 2023 3 commits
  16. 20 Sep, 2023 1 commit
  17. 19 Sep, 2023 1 commit