linux/drivers/gpu/drm/i915/gem
Dave Airlie fb5cfcaa2e 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: Dave 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
2021-01-15 15:03:36 +10:00
..
selftests drm/i915/selftests: Allow huge_gem_object to kick the shrinker 2021-01-12 09:47:24 +00:00
i915_gem_busy.c
i915_gem_clflush.c drm/i915: Replace the hardcoded I915_FENCE_TIMEOUT 2020-05-09 12:57:57 +01:00
i915_gem_clflush.h
i915_gem_client_blt.c drm/i915/gem: Perform all asynchronous waits prior to marking payload start 2020-11-03 15:00:06 +00:00
i915_gem_client_blt.h
i915_gem_context_types.h drm/i915/gem: Drop free_work for GEM contexts 2020-12-16 15:14:09 +00:00
i915_gem_context.c drm/i915/gem: Peek at the inflight context 2020-12-29 19:28:45 +00:00
i915_gem_context.h drm/i915/gem: Drop free_work for GEM contexts 2020-12-16 15:14:09 +00:00
i915_gem_dmabuf.c mm: introduce vma_set_file function v5 2020-11-19 10:36:36 +01:00
i915_gem_domain.c drm/i915/gem: Flush coherency domains on first set-domain-ioctl 2020-11-03 19:14:03 -05:00
i915_gem_execbuffer.c drm/i915/gt: Disable arbitration on no-preempt requests 2021-01-08 21:35:57 +00:00
i915_gem_fence.c drm/i915: Replace the hardcoded I915_FENCE_TIMEOUT 2020-05-09 12:57:57 +01:00
i915_gem_internal.c drm/i915/gem: Give each object class a friendly name 2020-05-29 23:38:29 +01:00
i915_gem_ioctls.h
i915_gem_lmem.c drm/i915/gem: Give each object class a friendly name 2020-05-29 23:38:29 +01:00
i915_gem_lmem.h
i915_gem_mman.c mm: introduce vma_set_file function v5 2020-11-19 10:36:36 +01:00
i915_gem_mman.h drm/i915/gem: Only revoke mmap handlers if active 2020-07-02 20:46:08 +01:00
i915_gem_object_blt.c drm/i915/gt: Move gen8 CS emitters into gen8_engine_cs.h 2020-12-16 15:55:43 +00:00
i915_gem_object_blt.h drm/i915: Convert i915_gem_object/client_blt.c to use ww locking as well, v2. 2020-09-07 14:31:22 +03:00
i915_gem_object_types.h drm/i915/gem: Allow backends to override pread implementation 2020-11-12 19:47:30 -05:00
i915_gem_object.c Merge tag 'drm-intel-gt-next-2020-11-12-1' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2020-11-13 15:01:57 +10:00
i915_gem_object.h Merge tag 'drm-intel-gt-next-2020-11-12-1' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2020-11-13 15:01:57 +10:00
i915_gem_pages.c drm/i915/gem: Report error for vmap() failure 2020-12-02 09:51:21 +00:00
i915_gem_phys.c drm/i915/gem: Pull phys pread/pwrite implementations to the backend 2020-11-12 19:47:30 -05:00
i915_gem_pm.c drm/i915: Add an implementation for i915_gem_ww_ctx locking, v2. 2020-09-07 14:29:44 +03:00
i915_gem_pm.h
i915_gem_region.c Revert "drm/i915/lmem: Limit block size to 4G" 2020-12-02 20:59:29 +00:00
i915_gem_region.h
i915_gem_shmem.c i915: use find_lock_page instead of find_lock_entry 2020-10-13 18:38:29 -07:00
i915_gem_shrinker.c drm/i915/gem: Optimistically prune dma-resv from the shrinker. 2020-12-23 21:58:00 +00:00
i915_gem_shrinker.h
i915_gem_stolen.c drm/i915/gem: Remove stolen node before releasing the region 2021-01-12 09:47:12 +00:00
i915_gem_stolen.h drm/i915: Exclude low pages (128KiB) of stolen from use 2020-10-21 08:32:28 -04:00
i915_gem_throttle.c drm/i915/gem: Remove disordered per-file request list for throttling 2020-09-07 13:13:50 +03:00
i915_gem_tiling.c drm/i915: Add an implementation for i915_gem_ww_ctx locking, v2. 2020-09-07 14:29:44 +03:00
i915_gem_userptr.c lib/scatterlist: Add support in dynamic allocation of SG table from pages 2020-10-05 20:45:45 -03:00
i915_gem_wait.c drm/i915/gem: Optimistically prune dma-resv from the shrinker. 2020-12-23 21:58:00 +00:00
i915_gemfs.c
i915_gemfs.h