• 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
i915_drv.c 50.3 KB