[Intel-gfx] [PATCH] drm/i915: Enable vblank interrupts for CRC generation
Chris Wilson
chris at chris-wilson.co.uk
Mon Aug 25 14:28:11 CEST 2014
Pineview requires this. But this changes the debug API...
References: https://bugs.freedesktop.org/show_bug.cgi?id=82280
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
drivers/gpu/drm/i915/i915_debugfs.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index d76a298a0eb7..65024a9bc95f 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2713,10 +2713,15 @@ static int i915_pipe_crc_open(struct inode *inode, struct file *filep)
struct pipe_crc_info *info = inode->i_private;
struct drm_i915_private *dev_priv = info->dev->dev_private;
struct intel_pipe_crc *pipe_crc = &dev_priv->pipe_crc[info->pipe];
+ int ret;
if (info->pipe >= INTEL_INFO(info->dev)->num_pipes)
return -ENODEV;
+ ret = drm_vblank_get(dev_priv->dev, info->pipe);
+ if (ret)
+ return ret;
+
spin_lock_irq(&pipe_crc->lock);
if (pipe_crc->opened) {
@@ -2742,6 +2747,8 @@ static int i915_pipe_crc_release(struct inode *inode, struct file *filep)
pipe_crc->opened = false;
spin_unlock_irq(&pipe_crc->lock);
+ drm_vblank_put(dev_priv->dev, info->pipe);
+
return 0;
}
--
2.1.0
More information about the Intel-gfx
mailing list