linux-pinenote/drivers/gpu/drm/i915
Keith Packard a65e34c79c drm/i915: Hold mode_config->mutex during hotplug processing
Hotplug detection is a mode setting operation and must hold the
struct_mutex or risk colliding with other mode setting operations.

In particular, the display port hotplug function attempts to re-train
the link if the monitor is supposed to be running when plugged back
in. If that happens while mode setting is underway, the link will get
scrambled, leaving it in an inconsistent state.

This is a special case -- usually the driver mode setting entry points
are covered by the upper level DRM code, but in this case the function
is invoked as a work function not under the control of DRM.

Signed-off-by: Keith Packard <keithp@keithp.com>
Cc: stable@kernel.org
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2011-07-25 14:54:22 -07:00
..
dvo.h drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
dvo_ch7xxx.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
dvo_ch7017.c drm/i915/dvo: Report LVDS attached to ch701x as connected 2010-12-30 13:50:43 +00:00
dvo_ivch.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
dvo_sil164.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
dvo_tfp410.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
i915_debugfs.c drm/i915: Don't call describe_obj on NULL pointers 2011-06-29 13:05:52 -07:00
i915_dma.c drm/i915: Initialize RCS ring status page address in intel_render_ring_init_dri 2011-07-22 13:36:52 -07:00
i915_drv.c Revert "drm/i915: enable rc6 by default" 2011-07-12 08:49:31 -07:00
i915_drv.h drm/i915: Fix unfenced alignment on pre-G33 hardware 2011-07-18 14:02:06 -07:00
i915_gem.c drm/i915: Fix unfenced alignment on pre-G33 hardware 2011-07-18 14:02:06 -07:00
i915_gem_debug.c drm/i915: Refine tracepoints 2011-02-07 14:59:18 +00:00
i915_gem_evict.c drm/i915: Refine tracepoints 2011-02-07 14:59:18 +00:00
i915_gem_execbuffer.c Revert "drm/i915: Kill GTT mappings when moving from GTT domain" 2011-06-21 11:11:02 -07:00
i915_gem_gtt.c drm/i915: Rename agp_type to cache_level 2011-05-10 13:56:43 -07:00
i915_gem_tiling.c drm/i915: Fix unfenced alignment on pre-G33 hardware 2011-07-18 14:02:06 -07:00
i915_ioc32.c drm: convert drm_ioctl to unlocked_ioctl 2009-12-18 11:22:31 +10:00
i915_irq.c drm/i915: Hold mode_config->mutex during hotplug processing 2011-07-25 14:54:22 -07:00
i915_mem.c
i915_reg.h drm/i915: Apply HWSTAM workaround for BSD ring on SandyBridge 2011-06-21 10:57:23 -07:00
i915_suspend.c drm/i915: Hold struct_mutex during i915_save_state/i915_restore_state 2011-06-29 11:20:45 -07:00
i915_trace.h drm/i915: Refine tracepoints 2011-02-07 14:59:18 +00:00
i915_trace_points.c drm/i915: Add tracepoints 2009-09-23 01:05:21 +01:00
intel_acpi.c drm/i915: i915 cannot provide switcher services. 2010-12-08 15:40:44 +10:00
intel_bios.c drm: Verify debug message arguments 2011-04-28 14:53:21 +10:00
intel_bios.h Revert "drm/i915: Disable SSC for outputs other than LVDS or DP" 2011-02-22 15:55:28 +00:00
intel_crt.c drm/i915/crt: Explicitly return false if connected to a digital monitor 2011-06-04 10:41:06 -07:00
intel_display.c drm/i915: load the LUT before pipe enable on ILK+ 2011-07-22 13:37:00 -07:00
intel_dp.c drm/i915/dp: Explicitly request 8/10 channel coding 2011-07-25 10:35:07 -07:00
intel_drv.h drm/i915: Share the common force-audio property between connectors 2011-06-04 10:41:25 -07:00
intel_dvo.c drm/i915: cleanup per-pipe reg usage 2011-02-07 21:17:15 +00:00
intel_fb.c drm/i915: restore only the mode of this driver on lastclose (v2) 2011-04-27 17:51:59 +10:00
intel_hdmi.c drm/i915: Share the common force-audio property between connectors 2011-06-04 10:41:25 -07:00
intel_i2c.c Revert "drm/i915: Enable GMBUS for post-gen2 chipsets" 2011-06-17 09:22:01 +10:00
intel_lvds.c drm/i915: Add a no lvds quirk for the Asus EeeBox PC EB1007 2011-06-04 10:48:45 -07:00
intel_modes.c drm/i915: Share the common force-audio property between connectors 2011-06-04 10:41:25 -07:00
intel_opregion.c drm/i915: Use a symbolic constant for OpRegion lid state 2011-02-24 18:13:42 +00:00
intel_overlay.c drm/i915/overlay: Fix unpinning along init error paths 2011-06-29 19:09:13 -07:00
intel_panel.c Merge commit '5359533801' into drm-core-next 2011-03-16 11:34:41 +10:00
intel_ringbuffer.c drm/i915: Initialize RCS ring status page address in intel_render_ring_init_dri 2011-07-22 13:36:52 -07:00
intel_ringbuffer.h drm/i915/ringbuffer: Idling requires waiting for the ring to be empty 2011-07-12 10:35:45 -07:00
intel_sdvo.c drm/i915: Share the common force-audio property between connectors 2011-06-04 10:41:25 -07:00
intel_sdvo_regs.h Fix common misspellings 2011-03-31 11:26:23 -03:00
intel_tv.c drm/i915: Don't store temporary load-detect variables in the generic encoder 2011-05-10 13:19:15 -07:00
Makefile drm/i915: Split i915_gem_execbuffer into its own file. 2010-11-25 21:19:25 +00:00