aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_debugfs.c
diff options
context:
space:
mode:
authorDamien Lespiau <damien.lespiau@intel.com>2013-10-15 13:55:31 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-10-16 07:32:11 -0400
commitcc3da175b0807a3e15f0fb3dad2bc9c7ff071440 (patch)
tree8f90ac3c9d357d0ff94698d41c0180a3b4cd1aa0 /drivers/gpu/drm/i915/i915_debugfs.c
parentac2300d4d5c2e9e4d82361a582cf1df3ec22fec7 (diff)
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>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_debugfs.c')
-rw-r--r--drivers/gpu/drm/i915/i915_debugfs.c6
1 files changed, 5 insertions, 1 deletions
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,
1804 enum intel_pipe_crc_source source) 1804 enum intel_pipe_crc_source source)
1805{ 1805{
1806 struct drm_i915_private *dev_priv = dev->dev_private; 1806 struct drm_i915_private *dev_priv = dev->dev_private;
1807 struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[pipe];
1807 u32 val; 1808 u32 val;
1808 1809
1809 1810
@@ -1812,7 +1813,10 @@ static int pipe_crc_set_source(struct drm_device *dev, enum pipe pipe,
1812 if (!IS_IVYBRIDGE(dev)) 1813 if (!IS_IVYBRIDGE(dev))
1813 return -ENODEV; 1814 return -ENODEV;
1814 1815
1815 dev_priv->pipe_crc[pipe].source = source; 1816 if (pipe_crc->source == source)
1817 return 0;
1818
1819 pipe_crc->source = source;
1816 1820
1817 switch (source) { 1821 switch (source) {
1818 case INTEL_PIPE_CRC_SOURCE_PLANE1: 1822 case INTEL_PIPE_CRC_SOURCE_PLANE1: