public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Paulo Zanoni <przanoni@gmail.com>
To: intel-gfx@lists.freedesktop.org
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Subject: [PATCH 1/6] drm/i915: don't schedule force_wake_timer at gen6_read
Date: Fri,  7 Mar 2014 20:05:19 -0300	[thread overview]
Message-ID: <1394233524-3522-2-git-send-email-przanoni@gmail.com> (raw)
In-Reply-To: <1394233524-3522-1-git-send-email-przanoni@gmail.com>

From: Paulo Zanoni <paulo.r.zanoni@intel.com>

So far force_wake_timer was only used by gen6_gt_force_wake_put. Since
we always had balanced gen6_gt_force_wake_get/put calls, we could
guarantee balanced calls to intel_runtime_pm_get/put.

Commit 8232644ccf099548710843e97360a3fcd6d28e04, "drm/i915: Convert
the forcewake worker into a timer func" started scheduling the
force_wake_timer at gen6_read, which resulted in an unbalanced
runtime_pm refcount.

So this commit just reverts to the old behavior until we can find a
proper way to used delayed force_wake from the register read/write
macros without leaving the runtime_pm refcounts unbalanced and without
runtime suspending the driver while forcewake is active.

Testcase: igt/pm_pc8
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
---
 drivers/gpu/drm/i915/intel_uncore.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
index 7861d97..c91c0c2 100644
--- a/drivers/gpu/drm/i915/intel_uncore.c
+++ b/drivers/gpu/drm/i915/intel_uncore.c
@@ -504,11 +504,12 @@ gen6_read##x(struct drm_i915_private *dev_priv, off_t reg, bool trace) { \
 	    NEEDS_FORCE_WAKE((dev_priv), (reg))) { \
 		dev_priv->uncore.funcs.force_wake_get(dev_priv, \
 						      FORCEWAKE_ALL); \
-		dev_priv->uncore.forcewake_count++; \
-		mod_timer_pinned(&dev_priv->uncore.force_wake_timer, \
-				 jiffies + 1); \
+		val = __raw_i915_read##x(dev_priv, reg); \
+		dev_priv->uncore.funcs.force_wake_put(dev_priv, \
+						      FORCEWAKE_ALL); \
+	} else { \
+		val = __raw_i915_read##x(dev_priv, reg); \
 	} \
-	val = __raw_i915_read##x(dev_priv, reg); \
 	REG_READ_FOOTER; \
 }
 
-- 
1.8.5.3

  reply	other threads:[~2014-03-07 23:06 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-07 23:05 [PATCH 0/6] More runtime PM fixes Paulo Zanoni
2014-03-07 23:05 ` Paulo Zanoni [this message]
2014-03-08  9:36   ` [PATCH 1/6] drm/i915: don't schedule force_wake_timer at gen6_read Chris Wilson
2014-03-08 10:27     ` Daniel Vetter
2014-03-07 23:05 ` [PATCH 2/6] drm/i915: properly disable the VDD when disabling the panel Paulo Zanoni
2014-03-14 12:07   ` Jani Nikula
2014-03-14 13:57     ` Daniel Vetter
2014-03-14 19:00       ` Patrik Jakobsson
2014-03-18 11:27         ` Jani Nikula
2014-03-07 23:05 ` [PATCH 3/6] drm/i915: get runtime PM at i915_reg_read_ioctl Paulo Zanoni
2014-03-07 23:05 ` [PATCH 4/6] drm/i915: don't get/put runtime PM at the debugfs forcewake file Paulo Zanoni
2014-03-07 23:05 ` [PATCH 5/6] drm/i915: don't read pp_ctrl_reg if we're suspended Paulo Zanoni
2014-03-07 23:05 ` [PATCH 6/6] drm/i915: get runtime PM at intel_set_mode Paulo Zanoni
2014-03-08 10:04   ` Daniel Vetter
2014-03-10 16:17     ` Imre Deak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1394233524-3522-2-git-send-email-przanoni@gmail.com \
    --to=przanoni@gmail.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=paulo.r.zanoni@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox