1. 03 Sep, 2021 5 commits
  2. 02 Sep, 2021 1 commit
  3. 31 Aug, 2021 1 commit
  4. 27 Aug, 2021 2 commits
  5. 26 Aug, 2021 1 commit
  6. 25 Aug, 2021 4 commits
  7. 24 Aug, 2021 2 commits
  8. 20 Aug, 2021 5 commits
  9. 19 Aug, 2021 1 commit
    • Matthew Brost's avatar
      drm/i915: Fix syncmap memory leak · faf89098
      Matthew Brost authored
      A small race exists between intel_gt_retire_requests_timeout and
      intel_timeline_exit which could result in the syncmap not getting
      free'd. Rather than work to hard to seal this race, simply cleanup the
      syncmap on fini.
      
      unreferenced object 0xffff88813bc53b18 (size 96):
        comm "gem_close_race", pid 5410, jiffies 4294917818 (age 1105.600s)
        hex dump (first 32 bytes):
          01 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00  ................
          00 00 00 00 00 00 00 00 6b 6b 6b 6b 06 00 00 00  ........kkkk....
        backtrace:
          [<00000000120b863a>] __sync_alloc_leaf+0x1e/0x40 [i915]
          [<00000000042f6959>] __sync_set+0x1bb/0x240 [i915]
          [<0000000090f0e90f>] i915_request_await_dma_fence+0x1c7/0x400 [i915]
          [<0000000056a48219>] i915_request_await_object+0x222/0x360 [i915]
          [<00000000aaac4ee3>] i915_gem_do_execbuffer+0x1bd0/0x2250 [i915]
          [<000000003c9d830f>] i915_gem_execbuffer2_ioctl+0x405/0xce0 [i915]
          [<00000000fd7a8e68>] drm_ioctl_kernel+0xb0/0xf0 [drm]
          [<00000000e721ee87>] drm_ioctl+0x305/0x3c0 [drm]
          [<000000008b0d8986>] __x64_sys_ioctl+0x71/0xb0
          [<0000000076c362a4>] do_syscall_64+0x33/0x80
          [<00000000eb7a4831>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
      Signed-off-by: default avatarMatthew Brost <matthew.brost@intel.com>
      Fixes: 531958f6 ("drm/i915/gt: Track timeline activeness in enter/exit")
      Cc: <stable@vger.kernel.org>
      Reviewed-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
      Signed-off-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210730195342.110234-1-matthew.brost@intel.com
      faf89098
  10. 18 Aug, 2021 2 commits
    • Matt Roper's avatar
      drm/i915/dg2: Maintain backward-compatible nested batch behavior · 9e9dfd08
      Matt Roper authored
      For tgl+, the per-context setting of MI_MODE[12] determines whether
      the bits of a nested MI_BATCH_BUFFER_START instruction should be
      interpreted in the traditional manner or whether they should
      instead use a new tgl+ meaning that breaks backward compatibility, but
      allows nesting into 3rd-level batchbuffers.  For previous platforms,
      the hardware default for this register bit is to maintain
      backward-compatible behavior unless a context intentionally opts into
      the new behavior; however Xe_HPG flips the hardware default behavior.
      
      From a SW perspective, we want to maintain the backward-compatible
      behavior for userspace, so we'll apply a fake workaround to set it back
      to the legacy behavior on platforms where the hardware default is to
      break compatibility.  At the moment there is no Linux userspace that
      utilizes third-level batchbuffers, so this will avoid userspace from
      needing to make any changes.  using the legacy meaning is the correct
      thing to do.  If/when we have userspace consumers that want to utilize
      third-level batch nesting, we can provide a context parameter to allow
      them to opt-in.
      
      Bspec: 45974, 45718
      Cc: John Harrison <John.C.Harrison@Intel.com>
      Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210805163647.801064-9-matthew.d.roper@intel.comReviewed-by: default avatarAnusha Srivatsa <anusha.srivatsa@intel.com>
      9e9dfd08
    • Kees Cook's avatar
      drm/i915: Use designated initializers for init/exit table · 90fd2194
      Kees Cook authored
      The kernel builds with -Werror=designated-init, and __designated_init
      is used by CONFIG_GCC_PLUGIN_RANDSTRUCT for automatically selected (all
      function pointer) structures. Include the field names in the init/exit
      table. Avoids warnings like:
      
      drivers/gpu/drm/i915/i915_module.c:59:4: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
      
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: intel-gfx@lists.freedesktop.org
      Cc: dri-devel@lists.freedesktop.org
      Fixes: a04ea6ae ("drm/i915: Use a table for i915_init/exit (v2)")
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210817233357.2379455-1-keescook@chromium.org
      90fd2194
  11. 13 Aug, 2021 1 commit
  12. 12 Aug, 2021 3 commits
  13. 11 Aug, 2021 4 commits
  14. 10 Aug, 2021 6 commits
  15. 07 Aug, 2021 1 commit
  16. 05 Aug, 2021 1 commit
    • Matt Roper's avatar
      drm/i915/dg2: Add SQIDI steering · 927dfdd0
      Matt Roper authored
      Although DG2_G10 platforms will always have all SQIDI's present and
      don't need steering for registers in a SQIDI MMIO range, this isn't true
      for DG2_G11 platforms; only SQIDI's 2 and 3 can be used on those.
      
      We handle SQIDI ranges a bit differently from other types of explicit
      steering.  The SQIDI ranges belong to either the MCFG unit or the SF
      unit, both of which have their own dedicated steering registers and do
      not use the typical 0xFDC steering control that all other types of
      ranges use.  Thus we only need to worry about picking a valid initial
      value for the MCFG and SF steering registers (0xFD0 and 0xFD8
      respectively) at driver init; they won't change after we set them up so
      we don't need to worry about re-steering them explicitly at runtime.
      
      Given that any SQIDI value should work fine for DG2-G10 and XeHP SDV,
      while only values of 2 and 3 are valid for DG2-G11, we'll just
      initialize the MCFG and SF steering registers to a constant value of "2"
      for all XeHP-based platforms for simplicity --- that will work in all
      cases.
      
      Bspec: 66534
      Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
      Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210729170008.2836648-6-matthew.d.roper@intel.com
      927dfdd0