1. 03 Apr, 2023 5 commits
  2. 31 Mar, 2023 1 commit
  3. 30 Mar, 2023 2 commits
  4. 29 Mar, 2023 1 commit
  5. 28 Mar, 2023 5 commits
  6. 24 Mar, 2023 12 commits
  7. 23 Mar, 2023 5 commits
  8. 21 Mar, 2023 4 commits
  9. 17 Mar, 2023 4 commits
  10. 16 Mar, 2023 1 commit
    • Andrzej Hajda's avatar
      drm/i915: add guard page to ggtt->error_capture · 72f6107d
      Andrzej Hajda authored
      Write-combining memory allows speculative reads by CPU.
      ggtt->error_capture is WC mapped to CPU, so CPU/MMU can try
      to prefetch memory beyond the error_capture, ie it tries
      to read memory pointed by next PTE in GGTT.
      If this PTE points to invalid address DMAR errors will occur.
      This behaviour was observed on ADL and RPL platforms.
      To avoid it, guard scratch page should be added after error_capture.
      The patch fixes the most annoying issue with error capture but
      since WC reads are used also in other places there is a risk similar
      problem can affect them as well.
      
      v2:
        - modified commit message (I hope the diagnosis is correct),
        - added bug checks to ensure scratch is initialized on gen3 platforms.
          CI produces strange stacktrace for it suggesting scratch[0] is NULL,
          to be removed after resolving the issue with gen3 platforms.
      v3:
        - removed bug checks, replaced with gen check.
      v4:
        - change code for scratch page insertion to support all platforms,
        - add info in commit message there could be more similar issues
      v5:
        - check for nop_clear_range instead of gen8 (Tvrtko),
        - re-insert scratch pages on resume (Tvrtko)
      v6:
        - use scratch_range callback to set scratch pages (Chris)
      Reviewed-by: default avatarAndi Shyti <andi.shyti@linux.intel.com>
      Acked-by: default avatarNirmoy Das <nirmoy.das@intel.com>
      Signed-off-by: default avatarAndrzej Hajda <andrzej.hajda@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230308-guard_error_capture-v6-2-1b5f31422563@intel.com
      72f6107d