linux/drivers/gpu/drm/i915
Chris Wilson 9bdcaa5e3a drm/i915: Discard a misplaced GGTT vma
Across the many users of the GGTT vma (internal objects, mmapings,
display etc), we may end up with conflicting requirements for the
placement. Currently, we try to resolve the conflict by unbinding the
vma and rebinding it to match the new constraints; over time we will end
up with a GGTT that matches the most strict constraints over all
concurrent users. However, this causes a problem if the vma is currently
in use as we must wait until it is idle before moving it. But there is
no restriction on the number of views we may use (apart from the limited
size of the GGTT itself), and so if the active vma does not meet our
requirements, try and build a new one!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200605165258.1483-1-chris@chris-wilson.co.uk
2020-06-05 18:29:15 +01:00
..
display drm/i915: Add psr_safest_params 2020-06-04 19:36:48 -07:00
gem drm/i915/gem: Async GPU relocations only 2020-06-05 09:45:44 +01:00
gt drm/i915/gt: Always check to enable timeslicing if not submitting 2020-06-05 17:18:17 +01:00
gvt drm/i915: Drop i915_request.i915 backpointer 2020-06-03 13:53:39 +01:00
selftests drm/i915: Fix comments mentioning typo in IS_ENABLED() 2020-06-05 16:28:42 +01:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
i915_active_types.h
i915_active.c drm/i915: Allow asynchronous waits on the i915_active barriers 2020-04-06 19:48:06 +01:00
i915_active.h drm/i915: Allow asynchronous waits on the i915_active barriers 2020-04-06 19:48:06 +01:00
i915_buddy.c drm/i915/buddy: avoid double list_add 2020-03-06 14:33:08 +00:00
i915_buddy.h
i915_cmd_parser.c drm/i915: Whitelist context-local timestamp in the gen9 cmdparser 2020-06-01 20:14:25 +01:00
i915_config.c drm/i915: Replace the hardcoded I915_FENCE_TIMEOUT 2020-05-09 12:57:57 +01:00
i915_debugfs_params.c
i915_debugfs_params.h
i915_debugfs.c drm/i915: Extract i915_cs_timestamp_{ns_to_ticks,tick_to_ns}() 2020-05-14 20:04:02 +03:00
i915_debugfs.h
i915_drv.c drm/i915: Refactor setting dma info to a common helper 2020-04-18 07:49:11 +01:00
i915_drv.h drm/i915/rkl: Disable PSR2 2020-06-04 14:04:43 -07:00
i915_fixed.h
i915_gem_evict.c drm/i915: Handle idling during i915_gem_evict_something busy loops 2020-05-12 13:02:03 +01:00
i915_gem_gtt.c
i915_gem_gtt.h drm/i915: Remove PIN_UPDATE for i915_vma_pin 2020-05-21 17:33:51 +01:00
i915_gem.c drm/i915: Discard a misplaced GGTT vma 2020-06-05 18:29:15 +01:00
i915_gem.h
i915_getparam.c drm/i915: Store CS timestamp frequency in Hz 2020-05-14 19:59:53 +03:00
i915_globals.c
i915_globals.h
i915_gpu_error.c drm/i915/gt: Keep a no-frills swappable copy of the default context state 2020-04-29 19:02:37 +01:00
i915_gpu_error.h drm/i915: Replace zero-length array with flexible-array 2020-05-09 12:59:23 +01:00
i915_ioc32.c
i915_ioc32.h
i915_irq.c drm/i915/rkl: Don't try to access transcoder D 2020-06-04 14:00:23 -07:00
i915_irq.h
i915_memcpy.c drm/i915: remove always-defined CONFIG_AS_MOVNTDQA 2020-04-09 00:01:59 +09:00
i915_memcpy.h
i915_mm.c
i915_params.c drm/i915: Add psr_safest_params 2020-06-04 19:36:48 -07:00
i915_params.h drm/i915: Add psr_safest_params 2020-06-04 19:36:48 -07:00
i915_pci.c drm/i915/rkl: Disable PSR2 2020-06-04 14:04:43 -07:00
i915_perf_types.h drm/i915/perf: Schedule oa_config after modifying the contexts 2020-03-30 18:20:34 +01:00
i915_perf.c drm/i915: Extract i915_cs_timestamp_{ns_to_ticks,tick_to_ns}() 2020-05-14 20:04:02 +03:00
i915_perf.h
i915_pmu.c drm/i915/pmu: avoid an maybe-uninitialized warning 2020-05-27 17:07:24 +01:00
i915_pmu.h
i915_priolist_types.h drm/i915/gt: Prevent timeslicing into unpreemptable requests 2020-05-28 09:59:27 +01:00
i915_pvinfo.h
i915_query.c
i915_query.h
i915_reg.h drm/i915/rkl: Setup ports/phys 2020-06-04 13:58:41 -07:00
i915_request.c drm/i915: Drop i915_request.i915 backpointer 2020-06-03 13:53:39 +01:00
i915_request.h drm/i915: Drop i915_request.i915 backpointer 2020-06-03 13:53:39 +01:00
i915_scatterlist.c
i915_scatterlist.h
i915_scheduler_types.h drm/i915: Drop no-semaphore boosting 2020-05-14 06:14:33 +01:00
i915_scheduler.c drm/i915: Don't set queue-priority hint when supressing the reschedule 2020-05-19 15:28:26 +01:00
i915_scheduler.h drm/i915: Mark concurrent submissions with a weak-dependency 2020-05-07 19:49:21 +01:00
i915_selftest.h drm/i915/gem: Implement legacy MI_STORE_DATA_IMM 2020-05-04 15:15:04 +01:00
i915_suspend.c
i915_suspend.h
i915_sw_fence_work.c drm/i915: Immediately execute the fenced work 2020-03-25 13:05:04 +00:00
i915_sw_fence_work.h drm/i915: Immediately execute the fenced work 2020-03-25 13:05:04 +00:00
i915_sw_fence.c drm/i915: Tidy awaiting on dma-fences 2020-05-11 12:56:45 +01:00
i915_sw_fence.h
i915_switcheroo.c drm/i915/switcheroo: use struct drm_device based logging 2020-04-08 13:49:35 +03:00
i915_switcheroo.h
i915_syncmap.c
i915_syncmap.h
i915_sysfs.c
i915_sysfs.h
i915_trace_points.c
i915_trace.h drm/i915: Drop i915_request.i915 backpointer 2020-06-03 13:53:39 +01:00
i915_user_extensions.c
i915_user_extensions.h
i915_utils.c drm/i915: Trim set_timer_ms() intervals 2020-06-04 16:34:00 +01:00
i915_utils.h drm/i915: be more solid in checking the alignment 2020-03-11 23:12:39 +02:00
i915_vgpu.c
i915_vgpu.h
i915_vma_types.h drm/i915/gem: Extract transient execbuf flags from i915_vma 2020-03-03 21:52:51 +00:00
i915_vma.c drm/i915/gt: Remove local entries from GGTT on suspend 2020-05-28 16:55:15 +01:00
i915_vma.h drm/i915/gt: Remove local entries from GGTT on suspend 2020-05-28 16:55:15 +01:00
intel_device_info.c drm/i915: Identify Cometlake platform 2020-06-02 23:15:34 +01:00
intel_device_info.h drm/i915/rkl: Disable PSR2 2020-06-04 14:04:43 -07:00
intel_dram.c drm/i915/dram: prefer struct drm_device based logging 2020-04-08 13:49:35 +03:00
intel_dram.h
intel_gvt.c drm/i915: Identify Cometlake platform 2020-06-02 23:15:34 +01:00
intel_gvt.h
intel_memory_region.c
intel_memory_region.h
intel_pch.c drm/i915: Identify Cometlake platform 2020-06-02 23:15:34 +01:00
intel_pch.h
intel_pm.c drm/i915: Identify Cometlake platform 2020-06-02 23:15:34 +01:00
intel_pm.h drm/i915: Fix includes and local vars order 2020-05-22 14:40:35 +01:00
intel_region_lmem.c
intel_region_lmem.h
intel_runtime_pm.c drm/i915/runtime_pm: Prefer drm_WARN* over WARN* 2020-05-19 16:01:40 +03:00
intel_runtime_pm.h
intel_sideband.c drm/i915: Added required new PCode commands 2020-05-05 13:59:55 +03:00
intel_sideband.h
intel_uncore.c drm/i915: Relinquish forcewake immediately after manual grouping 2020-06-01 13:29:05 +01:00
intel_uncore.h drm/i915/selftests: Measure the energy consumed while in RC6 2020-03-25 11:33:05 +00:00
intel_wakeref.c drm/i915: Extend intel_wakeref to support delayed puts 2020-03-23 12:51:05 +00:00
intel_wakeref.h drm/i915: Extend intel_wakeref to support delayed puts 2020-03-23 12:51:05 +00:00
intel_wopcm.c drm/i915: Remove cnl pre-prod workarounds 2020-05-04 18:44:52 +03:00
intel_wopcm.h
Kconfig
Kconfig.debug
Kconfig.profile drm/i915: Replace the hardcoded I915_FENCE_TIMEOUT 2020-05-09 12:57:57 +01:00
Kconfig.unstable
Makefile drm/i915/gt: Split low level gen2-7 CS emitters 2020-06-02 10:42:00 +01:00
vlv_suspend.c
vlv_suspend.h