mirror_ubuntu-kernels/drivers/gpu/drm/i915
Maarten Lankhorst 6945c53bc7 drm/i915: Add locking to i915_gem_evict_vm(), v3.
i915_gem_evict_vm will need to be able to evict objects that are
locked by the current ctx. By testing if the current context already
locked the object, we can do this correctly. This allows us to
evict the entire vm even if we already hold some objects' locks.

Previously, this was spread over several commits, but it makes
more sense to commit the changes to i915_gem_evict_vm separately
from the changes to i915_gem_evict_something() and
i915_gem_evict_for_node().

Changes since v1:
- Handle evicting dead objects better.
Changes since v2:
- Use for_i915_gem_ww in igt_evict_vm. (Thomas)

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
[mlankhorst: Fix up doc warning.]
Link: https://patchwork.freedesktop.org/patch/msgid/20220117075604.131477-1-maarten.lankhorst@linux.intel.com
2022-01-18 12:00:30 +01:00
..
display Merge drm/drm-next into drm-intel-gt-next 2022-01-18 10:54:02 +00:00
gem drm/i915: Add locking to i915_gem_evict_vm(), v3. 2022-01-18 12:00:30 +01:00
gt Merge drm/drm-next into drm-intel-gt-next 2022-01-18 10:54:02 +00:00
gvt Merge drm/drm-next into drm-intel-gt-next 2022-01-18 10:54:02 +00:00
pxp drm/i915/pxp: Hold RPM wakelock during PXP unbind 2022-01-10 13:54:53 +00:00
selftests drm/i915: Add locking to i915_gem_evict_vm(), v3. 2022-01-18 12:00:30 +01:00
.gitignore
i915_active_types.h drm/i915/active: remove useless i915_utils.h include 2021-12-13 12:04:44 +02:00
i915_active.c drm/i915: Remove unused bits of i915_vma/active api 2021-12-20 16:26:09 +01:00
i915_active.h drm/i915: Remove unused bits of i915_vma/active api 2021-12-20 16:26:09 +01:00
i915_buddy.c drm/i915/buddy: add some pretty printing 2021-08-20 09:40:22 +01:00
i915_buddy.h drm/i915/buddy: add some pretty printing 2021-08-20 09:40:22 +01:00
i915_cmd_parser.c drm/i915: Correct the docs for intel_engine_cmd_parser 2021-07-21 11:49:36 -04:00
i915_config.c drm/i915: remove IS_ACTIVE 2021-10-07 11:04:05 -07:00
i915_debugfs_params.c drm/i915: Use to_gt() helper 2021-12-17 21:51:59 -08:00
i915_debugfs_params.h
i915_debugfs.c Merge drm/drm-next into drm-intel-gt-next 2022-01-18 10:54:02 +00:00
i915_debugfs.h
i915_deps.c drm/i915: Break out the i915_deps utility 2021-12-22 08:52:57 +01:00
i915_deps.h drm/i915: Break out the i915_deps utility 2021-12-22 08:52:57 +01:00
i915_driver.c Merge drm/drm-next into drm-intel-gt-next 2022-01-18 10:54:02 +00:00
i915_driver.h drm/i915/driver: add i915_driver_ prefix to functions 2021-11-17 11:47:55 +02:00
i915_drv.h drm/i915: Add locking to i915_gem_evict_vm(), v3. 2022-01-18 12:00:30 +01:00
i915_fixed.h
i915_gem_evict.c drm/i915: Add locking to i915_gem_evict_vm(), v3. 2022-01-18 12:00:30 +01:00
i915_gem_gtt.c drm/i915: Use to_gt() helper for GGTT accesses 2022-01-05 10:38:34 -08:00
i915_gem_gtt.h
i915_gem_ww.c drm/i915: Break out dma_resv ww locking utilities to separate files 2021-06-17 14:22:59 +01:00
i915_gem_ww.h drm/i915: Ditch the i915_gem_ww_ctx loop member 2021-08-20 09:39:41 +01:00
i915_gem.c drm/i915: Use vma resources for async unbinding 2022-01-11 10:54:11 +01:00
i915_gem.h drm/i915: Break out dma_resv ww locking utilities to separate files 2021-06-17 14:22:59 +01:00
i915_getparam.c drm/i915: Use to_gt() helper for GGTT accesses 2022-01-05 10:38:34 -08:00
i915_gpu_error.c drm/i915: Use struct vma_resource instead of struct vma_snapshot 2022-01-11 10:54:11 +01:00
i915_gpu_error.h drm/i915: Avoid allocating a page array for the gpu coredump 2021-11-26 08:26:08 +01:00
i915_ioc32.c
i915_ioc32.h
i915_iosf_mbi.h drm/i915: abstraction for iosf to compile on all archs 2021-10-27 00:32:01 -07:00
i915_irq.c Merge tag 'drm-intel-gt-next-2021-12-23' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-12-24 06:14:51 +10:00
i915_irq.h drm/i915/irq: reduce inlines to reduce header dependencies 2021-08-20 10:28:31 +03:00
i915_memcpy.c
i915_memcpy.h
i915_mitigations.c
i915_mitigations.h
i915_mm.c drm/i915: Skip remap_io_mapping() for non-x86 platforms 2021-12-08 13:26:14 -08:00
i915_mm.h drm/i915: Skip remap_io_mapping() for non-x86 platforms 2021-12-08 13:26:14 -08:00
i915_module.c Merge drm/drm-next into drm-intel-gt-next 2022-01-18 10:54:02 +00:00
i915_params.c drm/i915: Test all device memory on probing 2021-12-14 15:08:20 +05:30
i915_params.h drm/i915: Test all device memory on probing 2021-12-14 15:08:20 +05:30
i915_pci.c Merge tag 'drm-intel-gt-next-2021-12-23' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-12-24 06:14:51 +10:00
i915_pci.h drm/i915/pci: rename functions to have i915_pci prefix 2021-08-26 10:50:19 +03:00
i915_perf_types.h
i915_perf.c i915: make array flex_regs static const 2022-01-14 15:25:18 +00:00
i915_perf.h drm/i915: Use a table for i915_init/exit (v2) 2021-07-22 12:05:17 +02:00
i915_pmu.c drm/i915: Use to_gt() helper 2021-12-17 21:51:59 -08:00
i915_pmu.h drm/i915: Use a table for i915_init/exit (v2) 2021-07-22 12:05:17 +02:00
i915_priolist_types.h
i915_pvinfo.h
i915_query.c drm/i915: Use to_gt() helper 2021-12-17 21:51:59 -08:00
i915_query.h
i915_reg.h Merge tag 'drm-intel-gt-next-2021-12-23' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-12-24 06:14:51 +10:00
i915_request.c Merge drm/drm-next into drm-intel-gt-next 2022-01-18 10:54:02 +00:00
i915_request.h drm/i915: Use struct vma_resource instead of struct vma_snapshot 2022-01-11 10:54:11 +01:00
i915_scatterlist.c drm/i915: Introduce refcounted sg-tables 2021-11-01 18:10:49 +01:00
i915_scatterlist.h drm/i915: Introduce refcounted sg-tables 2021-11-01 18:10:49 +01:00
i915_scheduler_types.h drm/i915/guc: Implement GuC priority management 2021-07-27 17:32:27 -07:00
i915_scheduler.c drm/i915: move scheduler slabs to direct module init/exit 2021-07-28 17:18:56 +02:00
i915_scheduler.h drm/i915: move scheduler slabs to direct module init/exit 2021-07-28 17:18:56 +02:00
i915_selftest.h
i915_suspend.c
i915_suspend.h
i915_sw_fence_work.c drm/i915: Drop stealing of bits from i915_sw_fence function pointer 2021-11-30 17:52:15 -08:00
i915_sw_fence_work.h drm/i915: Drop error handling from dma_fence_work 2021-07-16 21:47:39 +02:00
i915_sw_fence.c drm/i915: Drop stealing of bits from i915_sw_fence function pointer 2021-11-30 17:52:15 -08:00
i915_sw_fence.h drm/i915: Drop stealing of bits from i915_sw_fence function pointer 2021-11-30 17:52:15 -08:00
i915_switcheroo.c drm/i915/driver: add i915_driver_ prefix to functions 2021-11-17 11:47:55 +02:00
i915_switcheroo.h
i915_syncmap.c
i915_syncmap.h
i915_sysfs.c drm/i915: Use to_gt() helper 2021-12-17 21:51:59 -08:00
i915_sysfs.h
i915_trace_points.c
i915_trace.h drm/i915/trace: split out display trace to a separate file 2021-12-09 11:21:46 +02:00
i915_ttm_buddy_manager.c drm/i915/buddy: add some pretty printing 2021-08-20 09:40:22 +01:00
i915_ttm_buddy_manager.h drm/i915: support forcing the page size with lmem 2021-06-30 13:24:29 +01:00
i915_user_extensions.c
i915_user_extensions.h
i915_utils.c
i915_utils.h drm for 5.16-rc1 2021-11-02 16:47:49 -07:00
i915_vgpu.c
i915_vgpu.h
i915_vma_resource.c drm/i915: Use struct vma_resource instead of struct vma_snapshot 2022-01-11 10:54:11 +01:00
i915_vma_resource.h drm/i915: Use struct vma_resource instead of struct vma_snapshot 2022-01-11 10:54:11 +01:00
i915_vma_types.h Merge drm/drm-next into drm-intel-gt-next 2022-01-18 10:54:02 +00:00
i915_vma.c drm/i915: Add locking to i915_gem_evict_vm(), v3. 2022-01-18 12:00:30 +01:00
i915_vma.h drm/i915: Use vma resources for async unbinding 2022-01-11 10:54:11 +01:00
intel_device_info.c Merge tag 'drm-intel-next-2021-12-14' of ssh://git.freedesktop.org/git/drm/drm-intel into drm-next 2021-12-17 15:23:49 +10:00
intel_device_info.h Merge tag 'drm-intel-gt-next-2021-12-23' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-12-24 06:14:51 +10:00
intel_dram.c drm/i915: Remove memory frequency calculation 2021-10-19 10:45:52 +03:00
intel_dram.h
intel_gvt.c drm/i915: Use to_gt() helper 2021-12-17 21:51:59 -08:00
intel_gvt.h
intel_memory_region.c drm/i915: Test all device memory on probing 2021-12-14 15:08:20 +05:30
intel_memory_region.h drm/i915/ttm: Drop region reference counting 2021-11-25 09:36:16 +01:00
intel_pch.c drm/i915/rpl-s: Add PCH Support for Raptor Lake S 2021-12-08 13:03:04 -08:00
intel_pch.h drm/i915/rpl-s: Add PCH Support for Raptor Lake S 2021-12-08 13:03:04 -08:00
intel_pcode.c drm/i915: split out intel_pcode.[ch] to separate file 2021-10-14 18:04:17 +03:00
intel_pcode.h drm/i915: split out intel_pcode.[ch] to separate file 2021-10-14 18:04:17 +03:00
intel_pm_types.h drm/i915: split out intel_pm_types.h 2021-12-03 11:28:12 +02:00
intel_pm.c Merge tag 'drm-intel-next-2021-12-14' of ssh://git.freedesktop.org/git/drm/drm-intel into drm-next 2021-12-17 15:23:49 +10:00
intel_pm.h drm/i915/wm: provide wrappers around watermark vfuncs calls (v3) 2021-09-29 08:53:57 +03:00
intel_region_ttm.c drm/i915/ttm: Drop region reference counting 2021-11-25 09:36:16 +01:00
intel_region_ttm.h drm/i915/ttm: Drop region reference counting 2021-11-25 09:36:16 +01:00
intel_runtime_pm.c Merge drm/drm-next into drm-intel-next 2021-11-22 17:35:32 +02:00
intel_runtime_pm.h drm/i915: intel_runtime_pm.h does not actually need intel_display.h 2021-08-20 10:28:49 +03:00
intel_sbi.c drm/i915: rename intel_sideband.[ch] to intel_sbi.[ch] 2021-10-14 18:05:04 +03:00
intel_sbi.h drm/i915: rename intel_sideband.[ch] to intel_sbi.[ch] 2021-10-14 18:05:04 +03:00
intel_step.c drm/i915: Rename GT_STEP to GRAPHICS_STEP 2021-11-02 13:05:40 -07:00
intel_step.h drm/i915: Rename GT_STEP to GRAPHICS_STEP 2021-11-02 13:05:40 -07:00
intel_uncore.c Merge tag 'drm-intel-gt-next-2021-12-23' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-12-24 06:14:51 +10:00
intel_uncore.h drm/i915: Store backpointer to GT in uncore 2021-12-17 21:47:15 -08:00
intel_wakeref.c
intel_wakeref.h drm/i915/guc: Take engine PM when a context is pinned with GuC submission 2021-10-15 10:37:26 -07:00
intel_wopcm.c drm/i915: Use to_gt() helper 2021-12-17 21:51:59 -08:00
intel_wopcm.h
Kconfig Merge drm/drm-next into drm-intel-next 2021-11-22 17:35:32 +02:00
Kconfig.debug drm/i915: Improve debug Kconfig texts a bit 2021-07-06 10:10:07 +02:00
Kconfig.profile
Kconfig.unstable
Makefile Merge drm/drm-next into drm-intel-gt-next 2022-01-18 10:54:02 +00:00
TODO.txt
vlv_sideband.c drm/i915: abstraction for iosf to compile on all archs 2021-10-27 00:32:01 -07:00
vlv_sideband.h drm/i915: split out vlv sideband to a separate file 2021-10-14 12:22:55 +03:00
vlv_suspend.c
vlv_suspend.h