[PATCH 1/3] drm/i915: Hold RPM reference while setting freq limits through debugfs
Chris Wilson
chris at chris-wilson.co.uk
Fri Sep 23 10:17:06 UTC 2016
On Fri, Sep 23, 2016 at 03:22:26PM +0530, Sagar Arun Kamble wrote:
> Ensure device is active while setting frequency limits as GEN6_RPNSWREQ
> is accessed to set the frequency. Following assert helped catch this:
> [drm:assert_rpm_wakelock_held] RPM wakelock ref not held during HW access
The alternative would be to only touch the hw when busy, since we set
the desired frequency on idle->busy transition. Something like
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 71797e1c6f42..9282426b6ed0 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -5037,6 +5037,11 @@ void gen6_rps_boost(struct drm_i915_private *dev_priv,
void intel_set_rps(struct drm_i915_private *dev_priv, u8 val)
{
+ if (!dev_priv->gt.awake) {
+ dev_priv->rps.cur_freq = val;
+ return;
+ }
+
if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv))
valleyview_set_rps(dev_priv, val);
else
with a preceding lockdep_assert_held(dev_priv->rps.hw_lock);
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx-trybot
mailing list