All of lore.kernel.org
 help / color / mirror / Atom feed
From: Damien Lespiau <damien.lespiau@intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: [PATCH v2] drm/i915: Warn if a pipe is enabled with a bogus port
Date: Mon, 25 Mar 2013 15:16:14 +0000	[thread overview]
Message-ID: <1364224574-22521-1-git-send-email-damien.lespiau@intel.com> (raw)
In-Reply-To: <CA+gsUGQBR8LxohaVW8+oLLberZFrww=5ARQ8yzUtnEGodjwHLA@mail.gmail.com>

If TRANS_DDI_FUNC_CTL has been wrongly programmed with an incorrect
port, we are currently trying to read PORT_CLK_SEL(port) with an
uninitialized value.

Handle that case by returning PORT_CLK_SEL_NONE and warning about it.

v2: Move the warning inside intel_ddi_get_crtc_pll (Paulo Zanoni)

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
 drivers/gpu/drm/i915/intel_ddi.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index d26147c..258e38e 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -1160,7 +1160,7 @@ static uint32_t intel_ddi_get_crtc_pll(struct drm_i915_private *dev_priv,
 				       enum pipe pipe)
 {
 	uint32_t temp, ret;
-	enum port port;
+	enum port port = I915_MAX_PORTS;
 	enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv,
 								      pipe);
 	int i;
@@ -1176,10 +1176,16 @@ static uint32_t intel_ddi_get_crtc_pll(struct drm_i915_private *dev_priv,
 				port = i;
 	}
 
-	ret = I915_READ(PORT_CLK_SEL(port));
-
-	DRM_DEBUG_KMS("Pipe %c connected to port %c using clock 0x%08x\n",
-		      pipe_name(pipe), port_name(port), ret);
+	if (port == I915_MAX_PORTS) {
+		WARN(1, "Pipe %c enabled on an unknown port\n",
+		     pipe_name(pipe));
+		ret = PORT_CLK_SEL_NONE;
+	} else {
+		ret = I915_READ(PORT_CLK_SEL(port));
+		DRM_DEBUG_KMS("Pipe %c connected to port %c using clock "
+			      "0x%08x\n", pipe_name(pipe), port_name(port),
+			      ret);
+	}
 
 	return ret;
 }
-- 
1.7.11.7

  reply	other threads:[~2013-03-25 15:16 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-07 15:30 [PATCH 1/6] drm/i915: Warn if a pipe is enabled with a bogus port Damien Lespiau
2013-03-07 15:30 ` [PATCH 2/6] drm/i915: Initialize wait in intel_ddi_prepare_link_retrain() Damien Lespiau
2013-03-08 21:03   ` Ben Widawsky
2013-03-07 15:30 ` [PATCH 3/6] drm/i915: Error out if we are trying to use VGA with SPLL already in use Damien Lespiau
2013-03-08 21:06   ` Ben Widawsky
2013-03-22 21:14     ` Paulo Zanoni
2013-03-23 12:27       ` Daniel Vetter
2013-03-07 15:30 ` [PATCH 4/6] drm/i915: Cleanup if the EDP transcoder has a bobug input value Damien Lespiau
2013-03-22 21:34   ` Paulo Zanoni
2013-03-23 12:30     ` Daniel Vetter
2013-03-07 15:30 ` [PATCH 5/6] drm/i915: Rename intel_ddi_enable_pipe_func() to transcoder_func() Damien Lespiau
2013-03-22 21:37   ` Paulo Zanoni
2013-03-07 15:30 ` [PATCH 6/6] drm/i915: Use BUG() in a case of a programming error Damien Lespiau
2013-03-22 21:43   ` Paulo Zanoni
2013-03-23 12:31     ` Daniel Vetter
2013-03-22 21:04 ` [PATCH 1/6] drm/i915: Warn if a pipe is enabled with a bogus port Paulo Zanoni
2013-03-25 15:16   ` Damien Lespiau [this message]
2013-03-25 17:00     ` [PATCH v2] " Paulo Zanoni
2013-03-25 18:21       ` 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=1364224574-22521-1-git-send-email-damien.lespiau@intel.com \
    --to=damien.lespiau@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.