From: Damien Lespiau <damien.lespiau@intel.com>
Date: Tue, 15 Oct 2013 17:55:31 +0000 (+0100)
Subject: drm/i915: Make switching to the same CRC source a no-op
X-Git-Tag: firefly_0821_release~176^2~4523^2~90^2~157
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=cc3da175b0807a3e15f0fb3dad2bc9c7ff071440;p=firefly-linux-kernel-4.4.55.git

drm/i915: Make switching to the same CRC source a no-op

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 58c6fd4c8610..8c750d5110a1 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -1804,6 +1804,7 @@ static int pipe_crc_set_source(struct drm_device *dev, enum pipe pipe,
 			       enum intel_pipe_crc_source source)
 {
 	struct drm_i915_private *dev_priv = dev->dev_private;
+	struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[pipe];
 	u32 val;
 
 
@@ -1812,7 +1813,10 @@ static int pipe_crc_set_source(struct drm_device *dev, enum pipe pipe,
 	if (!IS_IVYBRIDGE(dev))
 		return -ENODEV;
 
-	dev_priv->pipe_crc[pipe].source = source;
+	if (pipe_crc->source == source)
+		return 0;
+
+	pipe_crc->source = source;
 
 	switch (source) {
 	case INTEL_PIPE_CRC_SOURCE_PLANE1: