diff options
author | Damien Lespiau <damien.lespiau@intel.com> | 2013-10-15 13:55:33 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-10-16 07:32:12 -0400 |
commit | 4b584369c6d6b75c9dbfeeb0896853874d031897 (patch) | |
tree | 608e8278bb0d33b2080ddef04c980956fdc79ad1 /drivers/gpu/drm/i915/i915_debugfs.c | |
parent | ae676fcd2a93bf1809cddbd79e37b37609791dc2 (diff) |
drm/i915: Empty the circular buffer when asked for a new source
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>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_debugfs.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_debugfs.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 787c50d194d4..ec9151afa240 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c | |||
@@ -1820,6 +1820,12 @@ static int pipe_crc_set_source(struct drm_device *dev, enum pipe pipe, | |||
1820 | if (pipe_crc->source && source) | 1820 | if (pipe_crc->source && source) |
1821 | return -EINVAL; | 1821 | return -EINVAL; |
1822 | 1822 | ||
1823 | /* none -> real source transition */ | ||
1824 | if (source) { | ||
1825 | atomic_set(&pipe_crc->head, 0); | ||
1826 | atomic_set(&pipe_crc->tail, 0); | ||
1827 | } | ||
1828 | |||
1823 | pipe_crc->source = source; | 1829 | pipe_crc->source = source; |
1824 | 1830 | ||
1825 | switch (source) { | 1831 | switch (source) { |