From: Paulo Zanoni <przanoni@gmail.com>
To: intel-gfx@lists.freedesktop.org
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Subject: [PATCH 06/11] drm/i915: get/put runtime PM in more places at i915_debugfs.c
Date: Fri, 21 Feb 2014 13:52:23 -0300 [thread overview]
Message-ID: <1393001548-2883-7-git-send-email-przanoni@gmail.com> (raw)
In-Reply-To: <1393001548-2883-1-git-send-email-przanoni@gmail.com>
From: Paulo Zanoni <paulo.r.zanoni@intel.com>
These are places where we read (not write) registers while we're
runtime suspended.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
---
drivers/gpu/drm/i915/i915_debugfs.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index d90a707..34e347f 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -1348,6 +1348,8 @@ static int i915_fbc_status(struct seq_file *m, void *unused)
return 0;
}
+ intel_runtime_pm_get(dev_priv);
+
if (intel_fbc_enabled(dev)) {
seq_puts(m, "FBC enabled\n");
} else {
@@ -1391,6 +1393,9 @@ static int i915_fbc_status(struct seq_file *m, void *unused)
}
seq_putc(m, '\n');
}
+
+ intel_runtime_pm_put(dev_priv);
+
return 0;
}
@@ -1405,11 +1410,15 @@ static int i915_ips_status(struct seq_file *m, void *unused)
return 0;
}
+ intel_runtime_pm_get(dev_priv);
+
if (IS_BROADWELL(dev) || I915_READ(IPS_CTL) & IPS_ENABLE)
seq_puts(m, "enabled\n");
else
seq_puts(m, "disabled\n");
+ intel_runtime_pm_put(dev_priv);
+
return 0;
}
@@ -1420,6 +1429,8 @@ static int i915_sr_status(struct seq_file *m, void *unused)
drm_i915_private_t *dev_priv = dev->dev_private;
bool sr_enabled = false;
+ intel_runtime_pm_get(dev_priv);
+
if (HAS_PCH_SPLIT(dev))
sr_enabled = I915_READ(WM1_LP_ILK) & WM1_LP_SR_EN;
else if (IS_CRESTLINE(dev) || IS_I945G(dev) || IS_I945GM(dev))
@@ -1429,6 +1440,8 @@ static int i915_sr_status(struct seq_file *m, void *unused)
else if (IS_PINEVIEW(dev))
sr_enabled = I915_READ(DSPFW3) & PINEVIEW_SELF_REFRESH_EN;
+ intel_runtime_pm_put(dev_priv);
+
seq_printf(m, "self-refresh: %s\n",
sr_enabled ? "enabled" : "disabled");
@@ -1972,12 +1985,16 @@ static int i915_energy_uJ(struct seq_file *m, void *data)
if (INTEL_INFO(dev)->gen < 6)
return -ENODEV;
+ intel_runtime_pm_get(dev_priv);
+
rdmsrl(MSR_RAPL_POWER_UNIT, power);
power = (power & 0x1f00) >> 8;
units = 1000000 / (1 << power); /* convert to uJ */
power = I915_READ(MCH_SECP_NRG_STTS);
power *= units;
+ intel_runtime_pm_put(dev_priv);
+
seq_printf(m, "%llu", (long long unsigned)power);
return 0;
--
1.8.5.3
next prev parent reply other threads:[~2014-02-21 16:53 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-21 16:52 [PATCH 00/11] Runtime PM fixes Paulo Zanoni
2014-02-21 16:52 ` [PATCH 01/11] drm/i915: Accurately track when we mark the hardware as idle/busy Paulo Zanoni
2014-02-21 16:55 ` Chris Wilson
2014-02-21 17:04 ` Paulo Zanoni
2014-02-21 17:27 ` Chris Wilson
2014-02-21 19:34 ` Paulo Zanoni
2014-03-05 13:13 ` Daniel Vetter
2014-03-05 13:15 ` Chris Wilson
2014-02-21 16:52 ` [PATCH 02/11] drm/i915: put runtime PM only at the end of intel_mark_idle Paulo Zanoni
2014-02-21 17:28 ` Jesse Barnes
2014-03-05 13:14 ` Daniel Vetter
2014-02-21 16:52 ` [PATCH 03/11] drm/i915: put runtime PM only when we actually release force_wake Paulo Zanoni
2014-02-21 17:34 ` Jesse Barnes
2014-02-21 20:08 ` Paulo Zanoni
2014-02-21 20:16 ` Jesse Barnes
2014-02-21 20:58 ` Paulo Zanoni
2014-03-05 13:17 ` Daniel Vetter
2014-02-21 16:52 ` [PATCH 04/11] drm/i915: get runtime PM at intel_set_mode Paulo Zanoni
2014-02-21 17:35 ` Jesse Barnes
2014-02-24 11:23 ` Imre Deak
2014-02-24 14:34 ` Paulo Zanoni
2014-02-28 13:07 ` Imre Deak
2014-03-05 13:25 ` Daniel Vetter
2014-03-06 16:30 ` Paulo Zanoni
2014-02-21 16:52 ` [PATCH 05/11] drm/i915: get runtime PM while trying to detect CRT Paulo Zanoni
2014-02-21 17:37 ` Jesse Barnes
2014-02-24 11:33 ` Imre Deak
2014-02-24 14:36 ` Paulo Zanoni
2014-02-21 16:52 ` Paulo Zanoni [this message]
2014-02-21 17:41 ` [PATCH 06/11] drm/i915: get/put runtime PM in more places at i915_debugfs.c Jesse Barnes
2014-02-21 17:46 ` Paulo Zanoni
2014-03-05 13:29 ` Daniel Vetter
2014-02-21 16:52 ` [PATCH 07/11] drm/i915: kill dev_priv->pc8.gpu_idle Paulo Zanoni
2014-02-28 13:50 ` Imre Deak
2014-02-28 20:11 ` Paulo Zanoni
2014-03-05 13:31 ` Daniel Vetter
2014-02-21 16:52 ` [PATCH 08/11] drm/i915: call assert_device_not_suspended at gen6_force_wake_work Paulo Zanoni
2014-02-21 18:05 ` Paulo Zanoni
2014-02-28 14:12 ` Imre Deak
2014-02-21 16:52 ` [PATCH 09/11] drm/i915: assert force wake is disabled when we runtime suspend Paulo Zanoni
2014-02-28 14:32 ` Imre Deak
2014-02-21 16:52 ` [PATCH 10/11] drm/i915: don't get/put runtime PM at the debugfs forcewake file Paulo Zanoni
2014-02-28 14:34 ` Imre Deak
2014-03-05 13:41 ` Daniel Vetter
2014-02-21 16:52 ` [PATCH 11/11] drm/i915: assert we're not runtime suspended when writing registers Paulo Zanoni
2014-02-28 15:16 ` Imre Deak
2014-03-05 13:44 ` Daniel Vetter
2014-03-05 13:46 ` Daniel Vetter
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=1393001548-2883-7-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