summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorVille Syrjälä2016-08-05 22:28:29 +0200
committerVille Syrjälä2016-08-05 22:28:29 +0200
commit4ac2ba2f8c4b7bb33d32fc1be290daf25d39802a (patch)
tree1757c5bf3a65b746cb5d9a6bcba28153428d0ad1 /drivers/gpu/drm/i915/intel_display.c
parentdrm/i915: Add a way to test the modeset done during gpu reset, v3. (diff)
downloadkernel-qcow2-linux-4ac2ba2f8c4b7bb33d32fc1be290daf25d39802a.tar.gz
kernel-qcow2-linux-4ac2ba2f8c4b7bb33d32fc1be290daf25d39802a.tar.xz
kernel-qcow2-linux-4ac2ba2f8c4b7bb33d32fc1be290daf25d39802a.zip
drm/i915: Introduce gpu_reset_clobbers_display()
Factor out the "does the GPU reset clobber the display?" check into a small helper. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1470428910-12125-4-git-send-email-ville.syrjala@linux.intel.com Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 8fa200bfc2c1..5d3766105b33 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3135,6 +3135,11 @@ __intel_display_resume(struct drm_device *dev,
return ret;
}
+static bool gpu_reset_clobbers_display(struct drm_i915_private *dev_priv)
+{
+ return INTEL_GEN(dev_priv) < 5 && !IS_G4X(dev_priv);
+}
+
void intel_prepare_reset(struct drm_i915_private *dev_priv)
{
struct drm_device *dev = &dev_priv->drm;
@@ -3162,7 +3167,7 @@ void intel_prepare_reset(struct drm_i915_private *dev_priv)
/* reset doesn't touch the display, but flips might get nuked anyway, */
if (!i915.force_reset_modeset_test &&
- (INTEL_GEN(dev_priv) >= 5 || IS_G4X(dev_priv)))
+ !gpu_reset_clobbers_display(dev_priv))
return;
/*
@@ -3212,7 +3217,7 @@ void intel_finish_reset(struct drm_i915_private *dev_priv)
dev_priv->modeset_restore_state = NULL;
/* reset doesn't touch the display */
- if (INTEL_GEN(dev_priv) >= 5 || IS_G4X(dev_priv)) {
+ if (!gpu_reset_clobbers_display(dev_priv)) {
if (!state) {
/*
* Flips in the rings have been nuked by the reset,