All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Subject: [PATCH 14/15] drm/i915: VLV/CHV PSR debugfs.
Date: Fri, 14 Nov 2014 08:52:40 -0800	[thread overview]
Message-ID: <1415983961-4485-14-git-send-email-rodrigo.vivi@intel.com> (raw)
In-Reply-To: <1415983961-4485-1-git-send-email-rodrigo.vivi@intel.com>

Add debugfs support for Valleyview and Cherryview considering that
we have PSR per pipe and  we don't have any kind of
performance counter as we have on other platforms that support PSR.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 drivers/gpu/drm/i915/i915_debugfs.c | 34 +++++++++++++++++++++++++++++-----
 1 file changed, 29 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 319da61..d9b27f8 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2126,6 +2126,8 @@ static int i915_edp_psr_status(struct seq_file *m, void *data)
 	struct drm_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	u32 psrperf = 0;
+	u32 stat[3];
+	enum pipe pipe;
 	bool enabled = false;
 
 	intel_runtime_pm_get(dev_priv);
@@ -2140,14 +2142,36 @@ static int i915_edp_psr_status(struct seq_file *m, void *data)
 	seq_printf(m, "Re-enable work scheduled: %s\n",
 		   yesno(work_busy(&dev_priv->psr.work.work)));
 
-	enabled = HAS_PSR(dev) &&
-		I915_READ(EDP_PSR_CTL(dev)) & EDP_PSR_ENABLE;
-	seq_printf(m, "HW Enabled & Active bit: %s\n", yesno(enabled));
+	if (HAS_PSR(dev)) {
+		if (HAS_DDI(dev))
+			enabled = I915_READ(EDP_PSR_CTL(dev)) & EDP_PSR_ENABLE;
+		else {
+			for_each_pipe(dev_priv, pipe) {
+				stat[pipe] = I915_READ(VLV_PSRSTAT(pipe)) &
+					VLV_EDP_PSR_CURR_STATE_MASK;
+				if ((stat[pipe] == VLV_EDP_PSR_ACTIVE_NORFB_UP) ||
+				    (stat[pipe] == VLV_EDP_PSR_ACTIVE_SF_UPDATE))
+					enabled = true;
+			}
+		}
+	}
+	seq_printf(m, "HW Enabled & Active bit: %s", yesno(enabled));
 
-	if (HAS_PSR(dev))
+	if (!HAS_DDI(dev))
+		for_each_pipe(dev_priv, pipe) {
+			if ((stat[pipe] == VLV_EDP_PSR_ACTIVE_NORFB_UP) ||
+			    (stat[pipe] == VLV_EDP_PSR_ACTIVE_SF_UPDATE))
+				seq_printf(m, " pipe %c", pipe_name(pipe));
+		}
+	seq_puts(m, "\n");
+
+	/* CHV PSR has no kind of performance counter */
+	if (HAS_PSR(dev) && HAS_DDI(dev)) {
 		psrperf = I915_READ(EDP_PSR_PERF_CNT(dev)) &
 			EDP_PSR_PERF_CNT_MASK;
-	seq_printf(m, "Performance_Counter: %u\n", psrperf);
+
+		seq_printf(m, "Performance_Counter: %u\n", psrperf);
+	}
 	mutex_unlock(&dev_priv->psr.lock);
 
 	intel_runtime_pm_put(dev_priv);
-- 
1.9.3

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2014-11-14 23:52 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-14 16:52 [PATCH 01/15] drm/i915: Make dp aux pack/unpack public outside intel_dp.c Rodrigo Vivi
2014-11-14 16:52 ` [PATCH 02/15] drm/i915: Introduce intel_psr.c Rodrigo Vivi
2014-11-18 18:16   ` R, Durgadoss
2014-11-14 16:52 ` [PATCH 03/15] drm/i915: Add PSR docbook Rodrigo Vivi
2014-11-18 18:18   ` R, Durgadoss
2014-11-14 16:52 ` [PATCH 04/15] drm/i915: Parse VBT PSR block Rodrigo Vivi
2015-02-10 19:26   ` Damien Lespiau
2014-11-14 16:52 ` [PATCH 05/15] drm/i915: HSW/BDW PSR Set idle_frames = VBT + 1 Rodrigo Vivi
2014-11-14 16:52 ` [PATCH 06/15] drm/i915: PSR get full link off x standby from VBT Rodrigo Vivi
2014-11-18 18:21   ` R, Durgadoss
2014-11-21 18:46     ` Daniel Vetter
2014-11-14 16:52 ` [PATCH 07/15] drm/i915: PSR skip aux on wake up as defined by VBT Rodrigo Vivi
2014-11-17 18:48   ` Rodrigo Vivi
2014-11-14 16:52 ` [PATCH 08/15] drm/i915: remove PSR BDW single frame update Rodrigo Vivi
2014-11-18 18:23   ` R, Durgadoss
2014-11-19 15:34     ` [PATCH] " Rodrigo Vivi
2014-11-21 14:55       ` shuang.he
2014-11-14 16:52 ` [PATCH 09/15] drm/i915: Fix intel_psr_is_enabled function and document it Rodrigo Vivi
2014-11-18 18:24   ` R, Durgadoss
2014-11-19 13:51     ` Daniel Vetter
2014-11-19 15:34       ` [PATCH] drm/i915: Remove intel_psr_is_enabled function Rodrigo Vivi
2014-11-20  5:56         ` R, Durgadoss
2014-11-20 10:22           ` Rodrigo Vivi
2014-11-21 13:12             ` shuang.he
2014-11-21 18:29             ` Daniel Vetter
2014-11-21 11:35               ` Rodrigo Vivi
2014-11-21 18:28                 ` shuang.he
2014-11-21 13:14         ` shuang.he
2014-11-14 16:52 ` [PATCH 10/15] drm/i915: Add PSR registers for PSR VLV/CHV Rodrigo Vivi
2014-11-18 18:27   ` R, Durgadoss
2014-11-14 16:52 ` [PATCH 11/15] drm/i915: PSR VLV/CHV: Introduce setup, enable and disable functions Rodrigo Vivi
2014-11-18 18:32   ` R, Durgadoss
2014-11-19 18:20     ` Rodrigo Vivi
2014-11-19 19:22       ` R, Durgadoss
2014-11-19 15:37         ` [PATCH] " Rodrigo Vivi
2014-11-20  5:54           ` R, Durgadoss
2014-11-19 22:30         ` [PATCH 11/15] " Rodrigo Vivi
2014-11-14 16:52 ` [PATCH 12/15] drm/i915: VLV/CHV PSR Software timer mode Rodrigo Vivi
2014-11-18 18:36   ` R, Durgadoss
2014-11-19 15:37     ` [PATCH] " Rodrigo Vivi
2014-11-20  5:52       ` R, Durgadoss
2014-11-14 16:52 ` [PATCH 13/15] drm/i915: VLV/CHV PSR: Increase wait delay time before active PSR Rodrigo Vivi
2014-11-18 18:37   ` R, Durgadoss
2014-11-19 15:38     ` [PATCH] " Rodrigo Vivi
2014-11-21 18:45       ` Daniel Vetter
2014-11-21 22:00         ` Vivi, Rodrigo
2014-11-24  9:22           ` Daniel Vetter
2014-11-22  9:28       ` [PATCH] drm/i915: VLV/CHV PSR: Increase wait delay time shuang.he
2014-11-14 16:52 ` Rodrigo Vivi [this message]
2014-11-18 18:40   ` [PATCH 14/15] drm/i915: VLV/CHV PSR debugfs R, Durgadoss
2014-11-14 16:52 ` [PATCH 15/15] drm/i915: Enable PSR for Baytrail and Braswell Rodrigo Vivi
2014-11-15  9:47   ` [PATCH 15/15] drm/i915: Enable PSR for Baytrail and shuang.he
2014-11-17 18:18   ` [PATCH 15/15] drm/i915: Enable PSR for Baytrail and Braswell Daniel Vetter
2014-11-17 18:30     ` Rodrigo Vivi
2014-11-17 18:51       ` Daniel Vetter
2014-11-17 19:12         ` Rodrigo Vivi
2014-11-17 20:18           ` Daniel Vetter
2014-11-20 17:25   ` Rodrigo Vivi
2014-11-20 17:58     ` R, Durgadoss
2014-11-20 11:44       ` [PATCH] " Rodrigo Vivi
2014-11-22 17:08         ` shuang.he
2014-11-17 18:14 ` [PATCH 01/15] drm/i915: Make dp aux pack/unpack public outside intel_dp.c 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=1415983961-4485-14-git-send-email-rodrigo.vivi@intel.com \
    --to=rodrigo.vivi@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.