Skip to content

Commit

Permalink
drm/i915: get a runtime PM ref for debugfs entries where needed
Browse files Browse the repository at this point in the history
These debugfs entries access registers that need the D0 power state so
get an RPM ref for them.

v2:
- for all these entries we only need D0 state, so get only an RPM ref,
  not a power domain ref (Daniel, Paulo)
- the dpio entry is not an issue any more as it got removed (Ville)
- restore commit message from v1 (Paulo)

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
  • Loading branch information
ideak authored and danvet committed Apr 25, 2014
1 parent 10769d2 commit feece62
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 0 deletions.
10 changes: 10 additions & 0 deletions drivers/gpu/drm/i915/i915_debugfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -1239,9 +1239,13 @@ static int vlv_drpc_info(struct seq_file *m)
u32 rpmodectl1, rcctl1;
unsigned fw_rendercount = 0, fw_mediacount = 0;

intel_runtime_pm_get(dev_priv);

rpmodectl1 = I915_READ(GEN6_RP_CONTROL);
rcctl1 = I915_READ(GEN6_RC_CONTROL);

intel_runtime_pm_put(dev_priv);

seq_printf(m, "Video Turbo Mode: %s\n",
yesno(rpmodectl1 & GEN6_RP_MEDIA_TURBO));
seq_printf(m, "Turbo enabled: %s\n",
Expand Down Expand Up @@ -3257,9 +3261,15 @@ static int
i915_wedged_set(void *data, u64 val)
{
struct drm_device *dev = data;
struct drm_i915_private *dev_priv = dev->dev_private;

intel_runtime_pm_get(dev_priv);

i915_handle_error(dev, val,
"Manually setting wedged to %llu", val);

intel_runtime_pm_put(dev_priv);

return 0;
}

Expand Down
4 changes: 4 additions & 0 deletions drivers/gpu/drm/i915/i915_sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,8 @@ static ssize_t gt_cur_freq_mhz_show(struct device *kdev,

flush_delayed_work(&dev_priv->rps.delayed_resume_work);

intel_runtime_pm_get(dev_priv);

mutex_lock(&dev_priv->rps.hw_lock);
if (IS_VALLEYVIEW(dev_priv->dev)) {
u32 freq;
Expand All @@ -273,6 +275,8 @@ static ssize_t gt_cur_freq_mhz_show(struct device *kdev,
}
mutex_unlock(&dev_priv->rps.hw_lock);

intel_runtime_pm_put(dev_priv);

return snprintf(buf, PAGE_SIZE, "%d\n", ret);
}

Expand Down

0 comments on commit feece62

Please sign in to comment.