drm/i915: Empty the circular buffer when asked for a new source
authorDamien Lespiau <damien.lespiau@intel.com>
Tue, 15 Oct 2013 17:55:33 +0000 (18:55 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 16 Oct 2013 11:32:12 +0000 (13:32 +0200)
So we don't read out stale CRCs from a previous run left in the buffer.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_debugfs.c

index 787c50d194d4324a6264d8e415774ce6796c0849..ec9151afa24075f3c9929878816865a95f2bb973 100644 (file)
@@ -1820,6 +1820,12 @@ static int pipe_crc_set_source(struct drm_device *dev, enum pipe pipe,
        if (pipe_crc->source && source)
                return -EINVAL;
 
+       /* none -> real source transition */
+       if (source) {
+               atomic_set(&pipe_crc->head, 0);
+               atomic_set(&pipe_crc->tail, 0);
+       }
+
        pipe_crc->source = source;
 
        switch (source) {