drm/i915: Missed lock change with rps lock
authorBen Widawsky <ben@bwidawsk.net>
Tue, 6 Nov 2012 14:36:36 +0000 (14:36 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Sun, 11 Nov 2012 22:51:45 +0000 (23:51 +0100)
Fixes a WARN_ON in igt/tests/debugfs_reader

CC: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_debugfs.c

index 09cd7d76f6aed46e8b7d391f4273f79179eeed1d..4568e7d8a060ecfbaec93090cdcd77c9bb87c278 100644 (file)
@@ -1096,8 +1096,10 @@ static int gen6_drpc_info(struct seq_file *m)
 
        rpmodectl1 = I915_READ(GEN6_RP_CONTROL);
        rcctl1 = I915_READ(GEN6_RC_CONTROL);
-       sandybridge_pcode_read(dev_priv, GEN6_PCODE_READ_RC6VIDS, &rc6vids);
        mutex_unlock(&dev->struct_mutex);
+       mutex_lock(&dev_priv->rps.hw_lock);
+       sandybridge_pcode_read(dev_priv, GEN6_PCODE_READ_RC6VIDS, &rc6vids);
+       mutex_unlock(&dev_priv->rps.hw_lock);
 
        seq_printf(m, "Video Turbo Mode: %s\n",
                   yesno(rpmodectl1 & GEN6_RP_MEDIA_TURBO));