1. 24 Aug, 2021 7 commits
  2. 23 Aug, 2021 1 commit
  3. 20 Aug, 2021 10 commits
  4. 18 Aug, 2021 2 commits
  5. 16 Aug, 2021 5 commits
  6. 13 Aug, 2021 6 commits
  7. 12 Aug, 2021 7 commits
  8. 11 Aug, 2021 2 commits
    • Dave Airlie's avatar
      Merge tag 'drm-intel-gt-next-2021-08-06-1' of... · 25fed6b3
      Dave Airlie authored
      Merge tag 'drm-intel-gt-next-2021-08-06-1' of ssh://git.freedesktop.org/git/drm/drm-intel into drm-next
      
      UAPI Changes:
      
      - Add I915_MMAP_OFFSET_FIXED
      
        On devices with local memory `I915_MMAP_OFFSET_FIXED` is the only valid
        type. On devices without local memory, this caching mode is invalid.
      
        As caching mode when specifying `I915_MMAP_OFFSET_FIXED`, WC or WB will
        be used, depending on the object placement on creation. WB will be used
        when the object can only exist in system memory, WC otherwise.
      
        Userspace: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11888
      
      - Reinstate the mmap ioctl for (already released) integrated Gen12 platforms
      
        Rationale: Otherwise media driver breaks eg. for ADL-P. Long term goal is
        still to sunset the IOCTL even for integrated and require using mmap_offset.
      
      - Reject caching/set_domain IOCTLs on discrete
      
        Expected to become immutable property of the BO
      
      - Disallow changing context parameters after first use on Gen12 and earlier
      - Require setting context parameters at creation on platforms after Gen12
      
        Rationale (for both): Allow less dynamic changes to the context to simplify
        the implementation and avoid user shooting theirselves in the foot.
      
      - Drop I915_CONTEXT_PARAM_RINGSIZE
      
        Userspace PR for compute-driver has not been merged
      
      - Drop I915_CONTEXT_PARAM_NO_ZEROMAP
      
        Userspace PR for libdrm / Beignet was never landed
      
      - Drop CONTEXT_CLONE API
      
        Userspace PR for Mesa was never landed
      
      - Drop getparam support for I915_CONTEXT_PARAM_ENGINES
      
        Only existed for symmetry wrt. setparam, never used.
      
      - Disallow bonding of virtual engines
      
        Drop the prep work, no hardware has been released needing it.
      
      - (Implicit) Disable gpu relocations
      
        Media userspace was the last userspace to still use them. They
        have converted so performance can be regained with an update.
      
      Core Changes:
      
      - Merge topic branch 'topic/i915-ttm-2021-06-11' (from Maarten)
      - Merge topic branch 'topic/revid_steppings' (from Matt R)
      - Merge topic branch 'topic/xehp-dg2-definitions-2021-07-21' (from Matt R)
      - Backmerges drm-next (Rodrigo)
      
      Driver Changes:
      
      - Initial workarounds for ADL-P (Clint)
      - Preliminary code for XeHP/DG2 (Stuart, Umesh, Matt R, Prathap, Ram,
        Venkata, Akeem, Tvrtko, John, Lucas)
      - Fix ADL-S DMA mask size to 39 bits (Tejas)
      - Remove code for CNL (Lucas)
      - Add ADL-P GuC/HuC firmwares (John)
      - Update HuC to 7.9.3 for TGL/ADL-S/RKL (John)
      - Fix -EDEADLK handling regression (Ville)
      - Implement Wa_1508744258 for DG1 and Gen12 iGFX (Jose)
      - Extend Wa_1406941453 to ADL-S (Jose)
      - Drop unnecessary workarounds per stepping for SKL/BXT/ICL (Matt R)
      - Use fuse info to enable SFC on Gen12 (Venkata)
      - Unconditionally flush the pages on acquire on EHL/JSL (Matt A)
      - Probe existence of backing struct pages upon userptr creation (Chris, Matt A)
      
      - Add an intermediate GEM proto-context to delay real context creation (Jason)
      - Implement SINGLE_TIMELINE with a syncobj (Jason)
      - Set the watchdog timeout directly in intel_context_set_gem (Jason)
      - Disallow userspace from creating contexts with too many engines (Jason)
      - Revert "drm/i915/gem: Asynchronous cmdparser" (Jason)
      - Revert "drm/i915: Propagate errors on awaiting already signaled fences" (Jason)
      - Revert "drm/i915: Skip over MI_NOOP when parsing" (Jason)
      - Revert "drm/i915: Shrink the GEM kmem_caches upon idling" (Daniel)
      - Always let TTM handle object migration (Jason)
      - Correct the locking and pin pattern for dma-buf (Thomas H, Michael R, Jason)
      - Migrate to system at dma-buf attach time (Thomas, Michael R)
      
      - MAJOR refactoring of the GuC backend code to allow for enabling on Gen11+
        (Matt B, John, Michal Wa., Fernando, Daniele, Vinay)
      - Update GuC firmware interface to v62.0.0 (John, Michal Wa., Matt B)
      - Add GuCRC feature to hand over the control of HW RC6 to the GuC on
        Gen12+ when GuC submission is enabled (Vinay, Sujaritha, Daniele,
        John, Tvrtko)
      - Use the correct IRQ during resume and eliminate DRM IRQ midlayer (Thomas Z)
      - Add pipelined page migration and clearing (Chris, Thomas H)
      - Use TTM for system memory on discrete (Thomas H)
      - Implement object migration for display vs. dma-buf (Thomas H)
      - Perform execbuffer object locking as a separate step (Thomas H)
      - Add support for explicit L3BANK steering (Matt, Daniele)
      - Remove duplicated call to ops->pread (Daniel)
      - Fix pagefault disabling in the first execbuf slowpath (Daniel)
      - Simplify userptr locking (Thomas H)
      - Improvements to the GuC CTB code (Matt B, John)
      - Make GT workaround upper bounds exclusive (Matt R)
      - Check for nomodeset in i915_init() first (Daniel)
      - Delete now unused gpu reloc code (Daniel)
      
      - Document RFC plans for GuC submission, DRM scheduler and new parallel
        submit uAPI (Matt B)
      - Reintroduce buddy allocator this time with TTM (Matt A)
      - Support forcing page size with LMEM (Matt A)
      - Add i915_sched_engine to abstract a submission queue between backends (Matt B)
      - Use accelerated move in TTM (Ram)
      - Fix memory leaks from TTM backend (Thomas H)
      - Introduce WW transaction helper (Thomas H)
      - Improve debug Kconfig texts a bit (Daniel)
      - Unify user object creation code (Jason)
      - Use a table for i915_init/exit (Jason)
      - Move slabs to module init/exit (Daniel)
      - Remove now unused i915_globals (Daniel)
      - Extract i915_module.c (Daniel)
      
      - Consistently use adl-p/adl-s in WA comments (Jose)
      - Finish INTEL_GEN and friends conversion (Lucas)
      - Correct variable/function namings (Lucas)
      - Code checker fixes (Wan, Matt A)
      - Tracepoint improvements (Matt B)
      - Kerneldoc improvements (Tvrtko, Jason, Matt A, Maarten)
      - Selftest improvements (Chris, Matt A, Tejas, Thomas H, John, Matt B,
        Rahul, Vinay)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/YQ0JmYiXhGskNcrI@jlahtine-mobl.ger.corp.intel.com
      25fed6b3
    • Matt Roper's avatar
      drm/i915: Only access SFC_DONE when media domain is not fused off · c5589bb5
      Matt Roper authored
      The SFC_DONE register lives within the corresponding VD0/VD2/VD4/VD6
      forcewake domain and is not accessible if the vdbox in that domain is
      fused off and the forcewake is not initialized.
      
      This mistake went unnoticed because until recently we were using the
      wrong register offset for the SFC_DONE register; once the register
      offset was corrected, we started hitting errors like
      
        <4> [544.989065] i915 0000:cc:00.0: Uninitialized forcewake domain(s) 0x80 accessed at 0x1ce000
      
      on parts with fused-off vdbox engines.
      
      Fixes: e50dbdbf ("drm/i915/tgl: Add SFC instdone to error state")
      Fixes: 82929a21 ("drm/i915: Correct SFC_DONE register offset")
      Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210806174130.1058960-1-matthew.d.roper@intel.comReviewed-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
      c5589bb5