linux_dsm_epyc7002/drivers/gpu/drm/i915
Imre Deak d610297764 drm/i915: remove user GTT mappings early during runtime suspend
Currently user space can access GEM buffers mapped to GTT through
existing mappings concurrently while the platform specific suspend
handlers are running. Since these handlers may change the HW state in a
way that would break such accesses, remove the mappings before calling
the handlers. Spotted by Ville.

Also Chris pointed out that the lists that i915_gem_release_all_mmaps()
walks through need dev->struct_mutex, so take this lock. There is a
potential deadlock against a concurrent RPM resume, resolve this by
aborting and rescheduling the suspend (Daniel).

v2:
- take struct_mutex around i915_gem_release_all_mmaps() (Chris, Daniel)

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Robert Beckett <robert.beckett@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-05-22 21:49:49 +02:00
..
dvo_ch7xxx.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_ch7017.c
dvo_ivch.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_ns2501.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_sil164.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_tfp410.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo.h
i915_cmd_parser.c drm/i915: Use hash tables for the command parser 2014-05-12 19:15:51 +02:00
i915_debugfs.c drm/i915/chv: Add cursor pipe offsets 2014-05-20 15:32:30 +02:00
i915_dma.c drm/i915: move bsd dispatch index somewhere better 2014-05-22 15:06:31 +02:00
i915_drv.c drm/i915: remove user GTT mappings early during runtime suspend 2014-05-22 21:49:49 +02:00
i915_drv.h drm/i915: move bsd dispatch index somewhere better 2014-05-22 15:06:31 +02:00
i915_gem_context.c drm/i915: Add null state batch to active list 2014-05-22 14:10:37 +02:00
i915_gem_debug.c drm/i915: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:34:21 +02:00
i915_gem_dmabuf.c drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +02:00
i915_gem_evict.c drm/i915: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:34:21 +02:00
i915_gem_execbuffer.c drm/i915: move bsd dispatch index somewhere better 2014-05-22 15:06:31 +02:00
i915_gem_gtt.c drm/i915/chv: Implement stolen memory size detection 2014-05-13 14:13:22 +02:00
i915_gem_gtt.h drm/i915/chv: PPAT setup for Cherryview 2014-05-06 18:29:34 +02:00
i915_gem_render_state.c drm/i915: Add null state batch to active list 2014-05-22 14:10:37 +02:00
i915_gem_stolen.c drm/i915: restrict vt-d stolen memory workaround to pre-gen8 2014-03-31 10:45:34 +02:00
i915_gem_tiling.c drm/i915: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:34:21 +02:00
i915_gem_userptr.c drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +02:00
i915_gem.c drm/i915: Only discard backing storage on releasing the last ref 2014-05-22 15:06:34 +02:00
i915_gpu_error.c drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +02:00
i915_ioc32.c
i915_irq.c drm/i915: Fix gen2 and hsw+ scanline counter 2014-05-22 15:06:38 +02:00
i915_params.c drm/i915: Add debug module option for VTd validation 2014-04-03 11:23:11 +02:00
i915_reg.h drm/i915: Implement WaVcpClkGateDisableForMediaReset:ctg, elk 2014-05-22 16:34:57 +02:00
i915_suspend.c
i915_sysfs.c drm/i915: get a runtime PM ref for debugfs entries where needed 2014-05-05 09:08:55 +02:00
i915_trace_points.c
i915_trace.h drm/i915: Add pipe update trace points 2014-05-06 10:18:03 +02:00
i915_ums.c
intel_acpi.c
intel_bios.c drm/i915: Validate VBT header before trusting it 2014-05-05 09:08:59 +02:00
intel_bios.h Merge tag 'drm-intel-next-2014-04-16' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-05-01 09:11:37 +10:00
intel_crt.c drm/i915/crt: Remove ->mode_set callback 2014-05-05 10:56:59 +02:00
intel_ddi.c drm/i915: grab the audio power domain when enabling audio on HSW+ 2014-05-22 15:06:33 +02:00
intel_display.c drm/i915: Fix gen2 and hsw+ scanline counter 2014-05-22 15:06:38 +02:00
intel_dp.c drm/i915: Drop now misleading DDI comment from dp_link_down 2014-05-20 22:50:05 +02:00
intel_drv.h drm/i915: Fix gen2 and hsw+ scanline counter 2014-05-22 15:06:38 +02:00
intel_dsi_cmd.c drm/i915: Send DPI command explicitely in LP mode 2014-04-09 21:54:30 +02:00
intel_dsi_cmd.h drm/i915: Send DPI command explicitely in LP mode 2014-04-09 21:54:30 +02:00
intel_dsi_pll.c
intel_dsi.c drm/i915: Add MIPI mmio reg base 2014-05-19 17:56:40 +02:00
intel_dsi.h drm/i915: MIPI PPS delays added 2014-05-15 22:44:21 +02:00
intel_dvo.c drm/i915/dvo: Remove ->mode_set callback 2014-05-05 10:56:55 +02:00
intel_fbdev.c drm/i915: Use the connector name in fbdev debug messages 2014-05-14 12:10:45 +02:00
intel_hdmi.c drm/i915/chv: Use RMW to toggle swing calc init 2014-05-20 15:53:09 +02:00
intel_i2c.c
intel_lvds.c drm/i915/lvds: Remove ->mode_set callback 2014-05-16 11:59:09 +02:00
intel_modes.c
intel_opregion.c
intel_overlay.c Merge tag 'drm-intel-fixes-2014-04-04' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-04-05 16:14:21 +10:00
intel_panel.c drm/i915: shuffle panel code 2014-05-20 21:07:50 +02:00
intel_pm.c Merge branch 'topic/drm-vblank-rework' into drm-intel-next-queued 2014-05-21 11:45:40 +02:00
intel_renderstate_gen6.c drm/i915: add null render states for gen6, gen7 and gen8 2014-05-14 19:17:08 +02:00
intel_renderstate_gen7.c drm/i915: add null render states for gen6, gen7 and gen8 2014-05-14 19:17:08 +02:00
intel_renderstate_gen8.c drm/i915: add null render states for gen6, gen7 and gen8 2014-05-14 19:17:08 +02:00
intel_renderstate.h drm/i915: add render state initialization 2014-05-14 19:16:13 +02:00
intel_ringbuffer.c drm/i915/chv: Add some workaround notes 2014-05-20 15:20:05 +02:00
intel_ringbuffer.h drm/i915: Use hash tables for the command parser 2014-05-12 19:15:51 +02:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915/sdvo: use config->has_hdmi_sink 2014-05-16 11:58:09 +02:00
intel_sideband.c drm/i915: vlv/chv: fix DSI sideband register accessing 2014-05-19 17:50:14 +02:00
intel_sprite.c drm/i915: Wait for pending page flips before enabling/disabling the primary plane 2014-05-22 15:06:33 +02:00
intel_tv.c drm/i915/tv: Remove ->mode_set callback 2014-05-05 10:56:59 +02:00
intel_uncore.c drm/i915: Implement WaVcpClkGateDisableForMediaReset:ctg, elk 2014-05-22 16:34:57 +02:00
Kconfig drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +02:00
Makefile drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl 2014-05-16 19:31:29 +02:00