Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Shashank Sharma <shashank.sharma@intel.com>
To: intel-gfx@lists.freedesktop.org, ville.syrjala@linux.intel.com,
	sonika.jindal@intel.com
Cc: shobhit.kumar@intel.com, daniel.vetter@intel.com
Subject: [PATCH 2/2] drm/i915: Restrict usage of live status check
Date: Fri, 11 Mar 2016 23:51:00 +0530	[thread overview]
Message-ID: <1457720460-11164-3-git-send-email-shashank.sharma@intel.com> (raw)
In-Reply-To: <1457720460-11164-1-git-send-email-shashank.sharma@intel.com>

This patch restricts usage of live status check for HDMI detection.
While testing certain (monitor + cable) combinations with various
intel  platforms, it seems that live status register is not reliable
on some older devices. So limit the live_status check from VLV onwards.

This fixes a regression introduced in:
commit 237ed86c693d8a8e4db476976aeb30df4deac74b
Author: Sonika Jindal <sonika.jindal@intel.com>
Date:   Tue Sep 15 09:44:20 2015 +0530
drm/i915: Check live status before reading edid

Signed-off-by: Shashank Sharma <shashank.sharma@intel.com>
---
 drivers/gpu/drm/i915/intel_hdmi.c | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index b523a2f..ca1fb57 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -1397,6 +1397,7 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
 	enum drm_connector_status status;
 	struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector);
 	struct drm_i915_private *dev_priv = to_i915(connector->dev);
+	struct drm_device *dev = connector->dev;
 	bool live_status = true;
 	unsigned int try = 8;
 
@@ -1404,14 +1405,21 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
 		      connector->base.id, connector->name);
 
 	intel_display_power_get(dev_priv, POWER_DOMAIN_GMBUS);
-	live_status = intel_digital_port_connected(dev_priv,
-		hdmi_to_dig_port(intel_hdmi));
-	while (!live_status && try--) {
-		msleep(10);
+
+	/*
+	* The live status register doesn't work reliably with certain
+	* cables/monitors, on old platforms. So restrict the live status
+	* check to be applied from VLV onwards.
+	*/
+	if (INTEL_INFO(dev)->gen >= 7 && !IS_IVYBRIDGE(dev)) {
 		live_status = intel_digital_port_connected(dev_priv,
 			hdmi_to_dig_port(intel_hdmi));
+		while (!live_status && try--) {
+			msleep(10);
+			live_status = intel_digital_port_connected(dev_priv,
+				hdmi_to_dig_port(intel_hdmi));
+		}
 	}
-
 	intel_hdmi_unset_edid(connector);
 
 	if (intel_hdmi_set_edid(connector, live_status)) {
-- 
1.9.1

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

  parent reply	other threads:[~2016-03-11 18:11 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-11 18:20 [PATCH 0/2] Changes in HDMI detection Shashank Sharma
2016-03-11 18:20 ` [PATCH 1/2] drm/i915: Optimize the live status retry logic Shashank Sharma
2016-03-11 19:13   ` Ville Syrjälä
2016-03-11 18:21 ` Shashank Sharma [this message]
2016-03-11 19:24   ` [PATCH 2/2] drm/i915: Restrict usage of live status check Ville Syrjälä
2016-03-12  3:10     ` Sharma, Shashank
2016-03-14  6:49   ` Jani Nikula
     [not found]     ` <1458187616-8521-1-git-send-email-shashank.sharma@intel.com>
2016-03-17  4:00       ` FW: [PATCH] " Sharma, Shashank
2016-03-17  7:08         ` Jani Nikula
2016-03-12  6:59 ` ✗ Fi.CI.BAT: failure for Changes in HDMI detection Patchwork

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=1457720460-11164-3-git-send-email-shashank.sharma@intel.com \
    --to=shashank.sharma@intel.com \
    --cc=daniel.vetter@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=shobhit.kumar@intel.com \
    --cc=sonika.jindal@intel.com \
    --cc=ville.syrjala@linux.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