summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_drv.c
diff options
context:
space:
mode:
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2015-06-01 12:50:05 +0200
committerJani Nikula <jani.nikula@intel.com>2015-06-12 13:19:34 +0300
commit06ea0b0897db906c5616f660a34b54d92f7d09cf (patch)
treedcf6fca1fb4ddff0ae6f2503329230bd08de1f83 /drivers/gpu/drm/i915/i915_drv.c
parent5da76e94c4b8d40465a907fc3a151051e8021cdc (diff)
downloadtalos-op-linux-06ea0b0897db906c5616f660a34b54d92f7d09cf.tar.gz
talos-op-linux-06ea0b0897db906c5616f660a34b54d92f7d09cf.zip
drm/i915: Make intel_display_suspend atomic, v2.
Calculate all state using a normal transition, but afterwards fudge crtc->state->active back to its old value. This should still allow state restore in setup_hw_state to work properly. Calling intel_set_mode will cause intel_display_set_init_power to be called, make sure init_power gets set again afterwards. Changes since v1: - Fix to compile with v2 of the patch that adds intel_display_suspend. - Add intel_display_set_init_power. - Set return value to int to allow error checking. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.c')
-rw-r--r--drivers/gpu/drm/i915/i915_drv.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 78ef0bb53c36..d3632c56fdf7 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -634,6 +634,9 @@ static int i915_drm_suspend(struct drm_device *dev)
intel_display_suspend(dev);
drm_modeset_unlock_all(dev);
+ /* suspending displays will unsets init power */
+ intel_display_set_init_power(dev_priv, true);
+
intel_dp_mst_suspend(dev);
intel_runtime_pm_disable_interrupts(dev_priv);
OpenPOWER on IntegriCloud