Commit 238010ed authored by David Weinehall's avatar David Weinehall Committed by Chris Wilson

drm/i915/debugfs: Take runtime_pm ref for sseu

When reading the SSEU statistics, we need to call
intel_runtime_pm_get() first, otherwise we might end up
triggering "Device suspended during HW access".
Signed-off-by: default avatarDavid Weinehall <david.weinehall@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1470062007-26996-1-git-send-email-david.weinehall@linux.intel.comReviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
parent 6ce21357
...@@ -5238,7 +5238,8 @@ static void broadwell_sseu_device_status(struct drm_device *dev, ...@@ -5238,7 +5238,8 @@ static void broadwell_sseu_device_status(struct drm_device *dev,
static int i915_sseu_status(struct seq_file *m, void *unused) static int i915_sseu_status(struct seq_file *m, void *unused)
{ {
struct drm_info_node *node = (struct drm_info_node *) m->private; struct drm_info_node *node = (struct drm_info_node *) m->private;
struct drm_device *dev = node->minor->dev; struct drm_i915_private *dev_priv = to_i915(node->minor->dev);
struct drm_device *dev = &dev_priv->drm;
struct sseu_dev_status stat; struct sseu_dev_status stat;
if (INTEL_INFO(dev)->gen < 8) if (INTEL_INFO(dev)->gen < 8)
...@@ -5268,6 +5269,9 @@ static int i915_sseu_status(struct seq_file *m, void *unused) ...@@ -5268,6 +5269,9 @@ static int i915_sseu_status(struct seq_file *m, void *unused)
seq_puts(m, "SSEU Device Status\n"); seq_puts(m, "SSEU Device Status\n");
memset(&stat, 0, sizeof(stat)); memset(&stat, 0, sizeof(stat));
intel_runtime_pm_get(dev_priv);
if (IS_CHERRYVIEW(dev)) { if (IS_CHERRYVIEW(dev)) {
cherryview_sseu_device_status(dev, &stat); cherryview_sseu_device_status(dev, &stat);
} else if (IS_BROADWELL(dev)) { } else if (IS_BROADWELL(dev)) {
...@@ -5275,6 +5279,9 @@ static int i915_sseu_status(struct seq_file *m, void *unused) ...@@ -5275,6 +5279,9 @@ static int i915_sseu_status(struct seq_file *m, void *unused)
} else if (INTEL_INFO(dev)->gen >= 9) { } else if (INTEL_INFO(dev)->gen >= 9) {
gen9_sseu_device_status(dev, &stat); gen9_sseu_device_status(dev, &stat);
} }
intel_runtime_pm_put(dev_priv);
seq_printf(m, " Enabled Slice Total: %u\n", seq_printf(m, " Enabled Slice Total: %u\n",
stat.slice_total); stat.slice_total);
seq_printf(m, " Enabled Subslice Total: %u\n", seq_printf(m, " Enabled Subslice Total: %u\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment