Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4f4a8185 authored by Shashank Sharma's avatar Shashank Sharma Committed by Ville Syrjälä
Browse files

drm/i915: Fake HDMI live status



This patch does the following:
- Fakes live status of HDMI as connected (even if that's not).
  While testing certain (monitor + cable) combinations with
  various intel  platforms, it seems that live status register
  doesn't work reliably on some older devices. So limit the
  live_status check for HDMI detection, only for platforms
  from gen7 onwards.

V2: restrict faking live_status to certain platforms
V3: (Ville)
   - keep the debug message for !live_status case
   - fix indentation of comment
   - remove "warning" from the debug message

    (Jani)
   - Change format of fix details in the commit message

Fixes: 237ed86c ("drm/i915: Check live status before reading edid")
Cc: stable@vger.kernel.org # v4.4
Suggested-by: default avatarVille Syrjala <ville.syrjala@linux.intel.com>
Signed-off-by: default avatarShashank Sharma <shashank.sharma@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1461237606-16491-1-git-send-email-shashank.sharma@intel.com


Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
parent 47baf2a5
Loading
Loading
Loading
Loading
+10 −2
Original line number Original line Diff line number Diff line
@@ -1412,8 +1412,16 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
				hdmi_to_dig_port(intel_hdmi));
				hdmi_to_dig_port(intel_hdmi));
	}
	}


	if (!live_status)
	if (!live_status) {
		DRM_DEBUG_KMS("Live status not up!");
		DRM_DEBUG_KMS("HDMI live status down\n");
		/*
		 * Live status register is not reliable on all intel platforms.
		 * So consider live_status only for certain platforms, for
		 * others, read EDID to determine presence of sink.
		 */
		if (INTEL_INFO(dev_priv)->gen < 7 || IS_IVYBRIDGE(dev_priv))
			live_status = true;
	}


	intel_hdmi_unset_edid(connector);
	intel_hdmi_unset_edid(connector);