1. 15 Jan, 2021 7 commits
    • Chris Wilson's avatar
      drm/i915/gem: Reduce ctx->engines_mutex for get_engines() · 2d60d3e0
      Chris Wilson authored
      Take a snapshot of the ctx->engines, so we can avoid taking the
      ctx->engines_mutex for a mere read in get_engines().
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarAndi Shyti <andi.shyti@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210114135612.13210-4-chris@chris-wilson.co.uk
      2d60d3e0
    • Chris Wilson's avatar
      drm/i915/gem: Reduce ctx->engine_mutex for reading the clone source · 1a72e741
      Chris Wilson authored
      When cloning the engines from the source context, we need to ensure that
      the engines are not freed as we copy them, and that the flags we clone
      from the source correspond with the engines we copy across. To do this
      we need only take a reference to the src->engines, rather than hold the
      src->engine_mutex, so long as we verify that nothing changed under the
      read.
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarAndi Shyti <andi.shyti@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210114135612.13210-3-chris@chris-wilson.co.uk
      1a72e741
    • Chris Wilson's avatar
      drm/i915: Drop i915_request.lock serialisation around await_start · b2fe00bb
      Chris Wilson authored
      Originally, we used the signal->lock as a means of following the
      previous link in its timeline and peeking at the previous fence.
      However, we have replaced the explicit serialisation with a series of
      very careful probes that anticipate the links being deleted and the
      fences recycled before we are able to acquire a strong reference to it.
      We do not need the signal->lock crutch anymore, nor want the contention.
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: default avatarAndi Shyti <andi.shyti@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210114135612.13210-2-chris@chris-wilson.co.uk
      b2fe00bb
    • Chris Wilson's avatar
      drm/i915: Mark up protected uses of 'i915_request_completed' · 163433e5
      Chris Wilson authored
      When we know that we are inside the timeline mutex, or inside the
      submission flow (under active.lock or the holder's rcu lock), we know
      that the rq->hwsp is stable and we can use the simpler direct version.
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarAndi Shyti <andi.shyti@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210114135612.13210-1-chris@chris-wilson.co.uk
      163433e5
    • Joonas Lahtinen's avatar
      Merge drm/drm-next into drm-intel-gt-next · d263dfa7
      Joonas Lahtinen authored
      Backmerging to get a common base for merging topic branches between
      drm-intel-next and drm-intel-gt-next.
      Signed-off-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      d263dfa7
    • Dave Airlie's avatar
      Merge tag 'drm-intel-gt-next-2021-01-14' of... · fb5cfcaa
      Dave Airlie authored
      Merge tag 'drm-intel-gt-next-2021-01-14' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
      
      UAPI Changes:
      - Deprecate I915_PMU_LAST and optimize state tracking (Tvrtko)
      
        Avoid relying on last item ABI marker in i915_drm.h, add a
        comment to mark as deprecated.
      
      Cross-subsystem Changes:
      
      Core Changes:
      
      Driver Changes:
      
      - Restore clear residuals security mitigations for Ivybridge and
        Baytrail (Chris)
      - Close #1858: Allow sysadmin to choose applied GPU security mitigations
        through i915.mitigations=... similar to CPU (Chris)
      - Fix for #2024: GPU hangs on HSW GT1 (Chris)
      - Fix for #2707: Driver hang when editing UVs in Blender (Chris, Ville)
      - Fix for #2797: False positive GuC loading error message (Chris)
      - Fix for #2859: Missing GuC firmware for older Cometlakes (Chris)
      - Lessen probability of GPU hang due to DMAR faults [reason 7,
        next page table ptr is invalid] on Tigerlake (Chris)
      - Fix REVID macros for TGL to fetch correct stepping (Aditya)
      - Limit frequency drop to RPe on parking (Chris, Edward)
      - Limit W/A 1406941453 to TGL, RKL and DG1 (Swathi)
      - Make W/A 22010271021 permanent on DG1 (Lucas)
      - Implement W/A 16011163337 to prevent a HS/DS hang on DG1 (Swathi)
      - Only disable preemption on gen8 render engines (Chris)
      - Disable arbitration around Braswell's PDP updates (Chris)
      - Disable arbitration on no-preempt requests (Chris)
      - Check for arbitration after writing start seqno before busywaiting (Chris)
      - Retain default context state across shrinking (Venkata, CQ)
      - Fix mismatch between misplaced vma check and vma insert for 32-bit
        addressing userspaces (Chris, CQ)
      - Propagate error for vmap() failure instead kernel NULL deref (Chris)
      - Propagate error from cancelled submit due to context closure
        immediately (Chris)
      - Fix RCU race on HWSP tracking per request (Chris)
      - Clear CMD parser shadow and GPU reloc batches (Matt A)
      
      - Populate logical context during first pin (Maarten)
      - Optimistically prune dma-resv from the shrinker (Chris)
      - Fix for virtual engine ownership race (Chris)
      - Remove timeslice suppression to restore fairness for virtual engines (Chris)
      - Rearrange IVB/HSW workarounds properly between GT and engine (Chris)
      - Taint the reset mutex with the shrinker (Chris)
      - Replace direct submit with direct call to tasklet (Chris)
      - Multiple corrections to virtual engine dequeue and breadcrumbs code (Chris)
      - Avoid wakeref from potentially hard IRQ context in PMU (Tvrtko)
      - Use raw clock for RC6 time estimation in PMU (Tvrtko)
      - Differentiate OOM failures from invalid map types (Chris)
      - Fix Gen9 to have 64 MOCS entries similar to Gen11 (Chris)
      - Ignore repeated attempts to suspend request flow across reset (Chris)
      - Remove livelock from "do_idle_maps" VT-d W/A (Chris)
      - Cancel the preemption timeout early in case engine reset fails (Chris)
      - Code flow optimization in the scheduling code (Chris)
      - Clear the execlists timers upon reset (Chris)
      - Drain the breadcrumbs just once (Chris, Matt A)
      - Track the overall GT awake/busy time (Chris)
      - Tweak submission tasklet flushing to avoid starvation (Chris)
      - Track timelines created using the HWSP to restore on resume (Chris)
      - Use cmpxchg64 for 32b compatilibity for active tracking (Chris)
      - Prefer recycling an idle GGTT fence to avoid GPU wait (Chris)
      
      - Restructure GT code organization for clearer split between GuC
        and execlists (Chris, Daniele, John, Matt A)
      - Remove GuC code that will remain unused by new interfaces (Matt B)
      - Restructure the CS timestamp clocks code to local to GT (Chris)
      - Fix error return paths in perf code (Zhang)
      - Replace idr_init() by idr_init_base() in perf (Deepak)
      - Fix shmem_pin_map error path (Colin)
      - Drop redundant free_work worker for GEM contexts (Chris, Mika)
      - Increase readability and understandability of intel_workarounds.c (Lucas)
      - Defer enabling the breadcrumb interrupt to after submission (Chris)
      - Deal with buddy alloc block sizes beyond 4G (Venkata, Chris)
      - Encode fence specific waitqueue behaviour into the wait.flags (Chris)
      - Don't cancel the breadcrumb interrupt shadow too early (Chris)
      - Cancel submitted requests upon context reset (Chris)
      - Use correct locks in GuC code (Tvrtko)
      - Prevent use of engine->wa_ctx after error (Chris, Matt R)
      
      - Fix build warning on 32-bit (Arnd)
      - Avoid memory leak if platform would have more than 16 W/A (Tvrtko)
      - Avoid unnecessary #if CONFIG_PM in PMU code (Chris, Tvrtko)
      - Improve debugging output (Chris, Tvrtko, Matt R)
      - Make file local variables static (Jani)
      - Avoid uint*_t types in i915 (Jani)
      - Selftest improvements (Chris, Matt A, Dan)
      - Documentation fixes (Chris, Jose)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      # Conflicts:
      #	drivers/gpu/drm/i915/gt/intel_breadcrumbs.c
      #	drivers/gpu/drm/i915/gt/intel_breadcrumbs_types.h
      #	drivers/gpu/drm/i915/gt/intel_lrc.c
      #	drivers/gpu/drm/i915/gvt/mmio_context.h
      #	drivers/gpu/drm/i915/i915_drv.h
      From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210114152232.GA21588@jlahtine-mobl.ger.corp.intel.com
      fb5cfcaa
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-2021-01-12' of git://anongit.freedesktop.org/drm/drm-intel into drm-next · dfa7c521
      Dave Airlie authored
      - PSR fixes and improvements for selective fetch (Jose)
      - GVT build fixed and cleanup (Jani)
      - RKL display fixes (Lee, Matt)
      - DSI fix (Hans)
      - Panel Power and Backlight fixes (Anshuman, Jani)
      - RPM fix (Chris)
      - Fix HTI port checking (Jose)
      - Clean-up in cursor code (Ville)
      - Once again, trying to use fast+narrow link on eDP (Ville)
      - DG1 display fix (Matt)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210112175151.GA90999@intel.com
      dfa7c521
  2. 14 Jan, 2021 7 commits
  3. 13 Jan, 2021 7 commits
  4. 12 Jan, 2021 11 commits
  5. 11 Jan, 2021 7 commits
  6. 09 Jan, 2021 1 commit