2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-08 21:53:54 +08:00
linux-next/drivers/gpu/drm/i915
Chris Wilson 275f039db5 drm/i915: Move user fault tracking to a separate list
We want to decouple RPM and struct_mutex, but currently RPM has to walk
the list of bound objects and remove userspace mmapping before we
suspend (otherwise userspace may continue to access the GTT whilst it is
powered down). This currently requires the struct_mutex to walk the
bound_list, but if we move that to a separate list and lock we can take
the first step towards removing the struct_mutex.

v2: Split runtime suspend unmapping vs regular unmapping, to make the
locking (and barriers) clearer. Add the object to the userfault_list
prior to inserting the first PTE, the race between add/revoke depends
upon struct_mutex for regular unmappings and rpm for runtime-suspend.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> #v1
Link: http://patchwork.freedesktop.org/patch/msgid/20161024124218.18252-1-chris@chris-wilson.co.uk
2016-10-24 13:45:35 +01:00
..
gvt drm/i915/gvt: do not ignore return value of create_scratch_page 2016-10-20 17:31:36 +08:00
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
dvo.h
i915_cmd_parser.c drm/i915: Allocate intel_engine_cs structure only for the enabled engines 2016-10-14 09:58:43 +01:00
i915_debugfs.c drm/i915: Move user fault tracking to a separate list 2016-10-24 13:45:35 +01:00
i915_drv.c drm/i915: Emit telltales for extra levels of debug upon initialisation 2016-10-19 08:41:41 +01:00
i915_drv.h drm/i915: Move user fault tracking to a separate list 2016-10-24 13:45:35 +01:00
i915_gem_batch_pool.c drm/i915: Double check the active status on the batch pool 2016-08-04 20:19:50 +01:00
i915_gem_batch_pool.h drm/i915: Double check the active status on the batch pool 2016-08-04 20:19:50 +01:00
i915_gem_context.c drm/i915: Make IS_IVYBRIDGE only take dev_priv 2016-10-14 12:23:19 +01:00
i915_gem_dmabuf.c drm/prime: Take a ref on the drm_dev when exporting a dma_buf 2016-10-05 15:30:32 +02:00
i915_gem_dmabuf.h
i915_gem_evict.c drm/i915: Move user fault tracking to a separate list 2016-10-24 13:45:35 +01:00
i915_gem_execbuffer.c drm/i915: Restrict pagefault disabling to just around copy_from_user() 2016-10-18 14:22:27 +01:00
i915_gem_fence.c drm/i915: Move user fault tracking to a separate list 2016-10-24 13:45:35 +01:00
i915_gem_gtt.c drm/i915/gtt: Free unused lower-level page tables 2016-10-14 12:42:23 +01:00
i915_gem_gtt.h drm/i915: Remove unused "valid" parameter from pte_encode 2016-10-14 12:40:32 +01:00
i915_gem_render_state.c drm/i915: Make INTEL_GEN only take dev_priv 2016-10-14 12:23:19 +01:00
i915_gem_render_state.h drm/i915: Use VMA for render state page tracking 2016-08-15 11:01:11 +01:00
i915_gem_request.c drm/i915: Allocate intel_engine_cs structure only for the enabled engines 2016-10-14 09:58:43 +01:00
i915_gem_request.h drm/i915: Nonblocking request submission 2016-09-09 14:23:08 +01:00
i915_gem_shrinker.c drm/i915: Treat a framebuffer reference as an active reference whilst shrinking 2016-10-12 17:17:20 +01:00
i915_gem_stolen.c drm/i915: Make IS_GEN macros only take dev_priv 2016-10-14 12:23:22 +01:00
i915_gem_tiling.c drm/i915: Make IS_GEN macros only take dev_priv 2016-10-14 12:23:22 +01:00
i915_gem_userptr.c drm/i915: Expand bool interruptible to pass flags to i915_wait_request() 2016-09-09 14:23:03 +01:00
i915_gem.c drm/i915: Move user fault tracking to a separate list 2016-10-24 13:45:35 +01:00
i915_gem.h
i915_gpu_error.c drm/i915: Add a sunset clause to GPU hang logging 2016-10-20 14:07:22 +01:00
i915_guc_reg.h drm/i915/guc: general tidying up (loader) 2016-09-15 10:56:02 +01:00
i915_guc_submission.c drm/i915: Allocate intel_engine_cs structure only for the enabled engines 2016-10-14 09:58:43 +01:00
i915_ioc32.c
i915_irq.c drm/i915: Stop reporting error details in dmesg as well as the error-state 2016-10-20 13:00:06 +01:00
i915_memcpy.c drm/i915: Mark the static key for movntqda as static 2016-08-17 12:36:07 +01:00
i915_mm.c drm/i915: Use remap_io_mapping() to prefault all PTE in a single pass 2016-08-19 17:13:36 +01:00
i915_params.c drm/i915: Allow disabling error capture 2016-10-12 12:00:32 +01:00
i915_params.h drm/i915: Allow disabling error capture 2016-10-12 12:00:32 +01:00
i915_pci.c drm/i915: keep declarations in i915_drv.h 2016-09-22 14:53:29 +03:00
i915_pvinfo.h
i915_reg.h drm/i915: Make IS_HASWELL only take dev_priv 2016-10-14 12:23:19 +01:00
i915_suspend.c drm/i915: Make IS_GEN macros only take dev_priv 2016-10-14 12:23:22 +01:00
i915_sw_fence.c drm/i915: Add a sw fence for collecting up dma fences 2016-09-09 14:22:55 +01:00
i915_sw_fence.h drm/i915: Add a sw fence for collecting up dma fences 2016-09-09 14:22:55 +01:00
i915_sysfs.c drm/i915: Allow disabling error capture 2016-10-12 12:00:32 +01:00
i915_trace_points.c
i915_trace.h drm/i915: Remove surplus drm_device parameter to i915_gem_evict_something() 2016-08-04 20:19:50 +01:00
i915_vgpu.c Merge tag 'drm-intel-next-2016-09-19' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-09-20 06:23:22 +10:00
i915_vgpu.h
intel_acpi.c
intel_atomic_plane.c drm: remove const attribute to hint at caller that they now own the memory 2016-08-16 14:06:53 +02:00
intel_atomic.c
intel_audio.c drm/i915: Make IS_CHERRYVIEW only take dev_priv 2016-10-14 12:23:19 +01:00
intel_bios.c drm/i915: Clean up DDI DDC/AUX CH sanitation 2016-10-21 15:43:40 +03:00
intel_bios.h
intel_breadcrumbs.c drm/i915: Allocate intel_engine_cs structure only for the enabled engines 2016-10-14 09:58:43 +01:00
intel_color.c drm/i915: Make IS_CHERRYVIEW only take dev_priv 2016-10-14 12:23:19 +01:00
intel_crt.c drm/i915: Make IS_GEN macros only take dev_priv 2016-10-14 12:23:22 +01:00
intel_csr.c drm/i915: Fix botched merge that downgrades CSR versions. 2016-08-22 16:08:32 +03:00
intel_ddi.c drm/i915: KBL - Recommended buffer translation programming for DisplayPort 2016-10-20 14:50:44 -07:00
intel_device_info.c drm/i915: Reduce trickery in DEV_INFO_FOR_EACH_FLAG 2016-10-05 15:24:54 +03:00
intel_display.c drm: i915: Wait for fences on new fb, not old 2016-10-24 09:02:58 +02:00
intel_dp_aux_backlight.c
intel_dp_link_training.c drm/i915/skl: drop workarounds for A0 and B0 revisions 2016-09-26 12:08:22 +03:00
intel_dp_mst.c Revert "drm/i915: start adding dp mst audio" 2016-09-29 11:02:41 +03:00
intel_dp.c drm/i915/dp: add lane_count check in intel_dp_check_link_status 2016-10-21 16:09:22 +03:00
intel_dpio_phy.c
intel_dpll_mgr.c drm/i915: Make IS_BROXTON only take dev_priv 2016-10-14 12:23:19 +01:00
intel_dpll_mgr.h drm/i915/dp: Add a standalone function to obtain shared dpll for HSW/BDW/SKL/BXT 2016-09-09 14:53:18 -07:00
intel_drv.h drm/i915/gen9: Add skl_wm_level_equals() 2016-10-19 18:26:14 -02:00
intel_dsi_dcs_backlight.c
intel_dsi_panel_vbt.c drm/i915/dsi: double check element parsing against size if present 2016-09-19 18:38:11 +03:00
intel_dsi_pll.c drm/i915: Make IS_BROXTON only take dev_priv 2016-10-14 12:23:19 +01:00
intel_dsi.c drm/i915: Make IS_CHERRYVIEW only take dev_priv 2016-10-14 12:23:19 +01:00
intel_dsi.h
intel_dvo.c drm/i915: Store port enum in intel_encoder 2016-09-21 09:32:00 -07:00
intel_engine_cs.c drm/i915: Do not use INTEL_INFO(dev_priv)->ring_mask inside WARNs 2016-10-14 12:23:19 +01:00
intel_fbc.c drm/i915/fbc: disable FBC on FIFO underruns 2016-09-22 17:01:34 -03:00
intel_fbdev.c drm/i915: pdev cleanup 2016-08-22 12:19:52 +01:00
intel_fifo_underrun.c drm/i915: Make IS_GEN macros only take dev_priv 2016-10-14 12:23:22 +01:00
intel_frontbuffer.c drm/i915: Use dev_priv consistently through the intel_frontbuffer interface 2016-08-04 20:20:03 +01:00
intel_frontbuffer.h drm/i915: Use dev_priv consistently through the intel_frontbuffer interface 2016-08-04 20:20:03 +01:00
intel_guc_fwif.h drm/doc: Fix more kerneldoc/sphinx warnings 2016-08-16 16:09:58 +02:00
intel_guc_loader.c drm/i915/guc: Sanitory checks for platform that dont have GuC 2016-10-18 10:30:00 -02:00
intel_guc.h drm/i915/guc: Unwind GuC workqueue reservation if request construction fails 2016-10-10 16:06:44 +03:00
intel_gvt.c Documentation/gpu: Add section for Intel GVT-g host support 2016-10-20 17:18:39 +08:00
intel_gvt.h drm/i915/gvt: clean up intel_gvt.h as interface for i915 core 2016-10-20 17:18:30 +08:00
intel_hdmi.c drm/i915: Respect alternate_ddc_pin for all DDI ports 2016-10-21 15:43:40 +03:00
intel_hotplug.c drm/i915: Mark i915_hpd_poll_init_work as static 2016-08-17 12:36:15 +01:00
intel_i2c.c drm/i915: GMBUS don't need no forcewake 2016-10-17 14:26:42 +03:00
intel_lrc.c drm/i915: Allocate intel_engine_cs structure only for the enabled engines 2016-10-14 09:58:43 +01:00
intel_lrc.h drm/i915: Update reset path to fix incomplete requests 2016-09-09 14:23:05 +01:00
intel_lspcon.c drm/i915: make lspcon_get_current_mode static 2016-10-19 12:55:35 +03:00
intel_lvds.c drm/i915: Make IS_GEN macros only take dev_priv 2016-10-14 12:23:22 +01:00
intel_mocs.c
intel_mocs.h
intel_modes.c drm: Remove superflous linux/fb.h includes 2016-08-12 10:41:39 +02:00
intel_opregion.c drm/i915: Ignore OpRegion panel type except on select machines 2016-09-14 11:25:05 +03:00
intel_overlay.c drm/i915: Allocate intel_engine_cs structure only for the enabled engines 2016-10-14 09:58:43 +01:00
intel_panel.c drm/i915/backlight: setup backlight pwm alternate increment on backlight enable 2016-10-10 16:05:52 +03:00
intel_pm.c drm/i915: Stop setting SNB min-freq-table 0 on powersave setup 2016-10-22 09:36:31 +01:00
intel_psr.c drm/i915: Make IS_CHERRYVIEW only take dev_priv 2016-10-14 12:23:19 +01:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_renderstate.h drm/i915: Remove duplicate golden render state init from execlists 2016-08-02 22:58:30 +01:00
intel_ringbuffer.c drm/i915/gen9: Remove WaEnableYV12BugFixInHalfSliceChicken7 2016-10-21 14:22:50 +03:00
intel_ringbuffer.h drm/i915: Allocate intel_engine_cs structure only for the enabled engines 2016-10-14 09:58:43 +01:00
intel_runtime_pm.c drm/i915: Make IS_VALLEYVIEW only take dev_priv 2016-10-14 12:23:19 +01:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Make INTEL_DEVID only take dev_priv 2016-10-14 12:23:19 +01:00
intel_sideband.c
intel_sprite.c drm/i915/gen9: Get rid of redundant watermark values 2016-10-19 18:24:18 -02:00
intel_tv.c drm/i915: Make INTEL_DEVID only take dev_priv 2016-10-14 12:23:19 +01:00
intel_uncore.c drm/i915: Just clear the mmiodebug before a register access 2016-10-10 16:06:41 +03:00
intel_vbt_defs.h
Kconfig drm/i915: remove AGP dependency from DRM_I915 kconfig help text 2016-10-24 14:41:24 +03:00
Kconfig.debug
Makefile drm/i915: Add lspcon support for I915 driver 2016-10-18 12:42:47 +03:00