linux_dsm_epyc7002/drivers/gpu/drm/i915
Chris Wilson d323c9b882 drm/i915/userptr: Handle unlocked gup retries
Enable gup to retry and fault the pages outside of the mmap_sem lock in
our worker. As we are inside our worker, outside of any critical path,
we can allow the mmap_sem lock to be dropped in order to service a page
fault; this in turn allows the mm to populate the page using a slow
fault handler.

References: 5b56d49fc3 ("mm: add locked parameter to get_user_pages_remote()")
Testcase: igt/gem_userptr/userfault
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191111133205.11590-2-chris@chris-wilson.co.uk
2019-11-11 15:46:45 +00:00
..
display drm/i915: Split a setting of MSA to MST and SST 2019-11-11 16:25:16 +02:00
gem drm/i915/userptr: Handle unlocked gup retries 2019-11-11 15:46:45 +00:00
gt drm/i915/execlists: Reduce barrier on context switch to a wmb() 2019-11-11 13:27:03 +00:00
gvt drm/i915: make more headers self-contained 2019-11-08 10:16:13 +00:00
oa drm/i915/tgl: Add perf support on TGL 2019-10-29 12:53:54 +02:00
selftests drm/i915/selftests: Complete transition to a real struct file mock 2019-11-08 10:17:41 +00:00
i915_active_types.h
i915_active.c drm/i915/gt: Split intel_ring_submission 2019-10-24 12:14:21 +01:00
i915_active.h drm/i915/selftests: Flush all active callbacks 2019-11-02 08:34:53 +00:00
i915_buddy.c
i915_buddy.h
i915_cmd_parser.c
i915_debugfs.c drm/i915: Perform automated conversions for crtc uapi/hw split, base -> uapi. 2019-11-01 14:51:21 +01:00
i915_debugfs.h
i915_drv.c drm/i915/selftests: Complete transition to a real struct file mock 2019-11-08 10:17:41 +00:00
i915_drv.h drm/i915/gt: Call intel_gt_sanitize() directly 2019-11-01 14:47:36 +00:00
i915_fixed.h
i915_gem_evict.c
i915_gem_fence_reg.c drm/i915: set num_fence_regs to 0 if there is no aperture 2019-10-29 10:35:47 +00:00
i915_gem_fence_reg.h drm/i915: Store i915_ggtt as the backpointer on fence registers 2019-10-16 19:41:36 +01:00
i915_gem_gtt.c drm/i915: Leave the aliasing-ppgtt size alone 2019-11-07 10:52:14 +00:00
i915_gem_gtt.h drm/i915: define i915_ggtt_has_aperture 2019-10-29 10:31:40 +00:00
i915_gem.c drm/i915/gt: Call intel_gt_sanitize() directly 2019-11-01 14:47:36 +00:00
i915_gem.h drm/i915: Taint the kernel on dumping the GEM ftrace buffer 2019-11-11 12:46:12 +00:00
i915_getparam.c
i915_globals.c
i915_globals.h
i915_gpu_error.c drm/i915: Remove unwanted rcu_read_lock/unlock 2019-11-06 22:12:45 +00:00
i915_gpu_error.h drm/i915/tgl: Add gam instdone 2019-10-30 09:15:27 +00:00
i915_ioc32.c
i915_irq.c drm/i915/tgl: Handle AUX interrupts for TC ports 2019-10-28 08:27:04 -07:00
i915_irq.h drm/i915: Extract the GuC interrupt handlers 2019-10-26 19:28:59 +01:00
i915_memcpy.c
i915_memcpy.h
i915_mm.c
i915_params.c drm/i915/lmem: add the fake lmem region 2019-10-31 20:41:47 +00:00
i915_params.h drm/i915/lmem: add the fake lmem region 2019-10-31 20:41:47 +00:00
i915_pci.c drm/i915/display/cnl+: Handle fused off DSC 2019-10-29 12:12:49 -07:00
i915_perf_types.h drm/i915/perf: Describe structure members in documentation 2019-10-24 15:01:35 +01:00
i915_perf.c drm/i915/perf: always consider holding preemption a privileged op 2019-11-11 12:14:01 +02:00
i915_perf.h
i915_pmu.c drm/i915/pmu: "Frequency" is reported as accumulated cycles 2019-11-11 11:59:12 +00:00
i915_pmu.h drm/i915/pmu: Support multiple GPUs 2019-10-17 10:50:47 +01:00
i915_priolist_types.h drm/i915/gt: Replace hangcheck by heartbeats 2019-10-23 23:52:10 +01:00
i915_pvinfo.h
i915_query.c drm/i915: add support for perf configuration queries 2019-10-14 21:30:26 +01:00
i915_query.h
i915_reg.h drm/i915: Expose C8 on VLV/CHV sprite planes 2019-11-04 17:59:06 +02:00
i915_request.c drm/i915: Extract GT render power state management 2019-10-26 19:28:59 +01:00
i915_request.h
i915_scatterlist.c
i915_scatterlist.h
i915_scheduler_types.h
i915_scheduler.c drm/i915: Protect request peeking with RCU 2019-11-04 10:01:36 +00:00
i915_scheduler.h drm/i915/execlists: Don't merely skip submission if maybe timeslicing 2019-10-18 11:23:26 +01:00
i915_selftest.h
i915_suspend.c
i915_suspend.h
i915_sw_fence_work.c
i915_sw_fence_work.h
i915_sw_fence.c
i915_sw_fence.h
i915_switcheroo.c
i915_switcheroo.h
i915_syncmap.c
i915_syncmap.h
i915_sysfs.c drm/i915: Extract GT render power state management 2019-10-26 19:28:59 +01:00
i915_sysfs.h
i915_trace_points.c
i915_trace.h
i915_user_extensions.c
i915_user_extensions.h
i915_utils.c drm/i915: Rename "inject_load_failure" module parameter 2019-10-29 15:37:57 +00:00
i915_utils.h drm/i915: Fix i915_inject_load_error() name to read *_probe_* 2019-10-29 15:37:57 +00:00
i915_vgpu.c
i915_vgpu.h
i915_vma.c drm/i915: Split detaching and removing the vma 2019-10-31 14:52:19 +00:00
i915_vma.h drm/i915: Lift i915_vma_parked() onto the gt 2019-10-21 21:07:56 +01:00
intel_csr.c
intel_csr.h
intel_device_info.c drm/i915/display/cnl+: Handle fused off DSC 2019-10-29 12:12:49 -07:00
intel_device_info.h drm/i915/display/cnl+: Handle fused off DSC 2019-10-29 12:12:49 -07:00
intel_gvt.c
intel_gvt.h
intel_memory_region.c drm/i915/lmem: add the fake lmem region 2019-10-31 20:41:47 +00:00
intel_memory_region.h drm/i915/lmem: add the fake lmem region 2019-10-31 20:41:47 +00:00
intel_pch.c drm/i915/tgl: Add second TGL PCH ID 2019-11-06 16:15:27 -08:00
intel_pch.h drm/i915/tgl: Add second TGL PCH ID 2019-11-06 16:15:27 -08:00
intel_pm.c drm/i915: Perform automated conversions for plane uapi/hw split, base -> uapi. 2019-11-01 14:51:21 +01:00
intel_pm.h drm/i915: Extract GT render power state management 2019-10-26 19:28:59 +01:00
intel_region_lmem.c drm/i915/lmem: fixup fake lmem teardown 2019-11-06 14:34:10 +00:00
intel_region_lmem.h drm/i915/lmem: add the fake lmem region 2019-10-31 20:41:47 +00:00
intel_runtime_pm.c
intel_runtime_pm.h
intel_sideband.c
intel_sideband.h
intel_uncore.c
intel_uncore.h
intel_wakeref.c
intel_wakeref.h
intel_wopcm.c
intel_wopcm.h
Kconfig drm/i915: Put future HW and their uAPIs under STAGING & BROKEN 2019-10-27 15:47:10 +00:00
Kconfig.debug drm/i915/selftests: Replace mock_file hackery with drm's true fake 2019-11-07 21:22:16 +00:00
Kconfig.profile drm/i915/gt: Make timeslice duration configurable 2019-10-29 16:23:55 +00:00
Kconfig.unstable drm/i915/lmem: add the fake lmem region 2019-10-31 20:41:47 +00:00
Makefile drm/i915/selftests: Wrap vm_mmap() around GEM objects 2019-11-07 21:22:58 +00:00