[PATCH 05/16] drm/i915: Make switching to the same CRC source a no-op

Damien Lespiau
2013-10-15T17:55:54Z

drivers/gpu/drm/i915/i915_debugfs.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 58c6fd4..8c750d5 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:
--
1.8.3.1