Skip to content

Commit 8e1001c

Browse files
contactshashanksharmagregkh
authored andcommitted
drm/i915: Fake HDMI live status
commit 60b3143c7cac7e8d2ca65c0b347466c5776395d1 upstream. 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: 237ed86 ("drm/i915: Check live status before reading edid") Suggested-by: Ville Syrjala <ville.syrjala@linux.intel.com> Signed-off-by: Shashank 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: Ville Syrjälä <ville.syrjala@linux.intel.com> (cherry picked from commit 4f4a8185011773f7520d9916c6857db946e7f9d1) Signed-off-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent bc63116 commit 8e1001c

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

drivers/gpu/drm/i915/intel_hdmi.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1388,8 +1388,16 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
13881388
hdmi_to_dig_port(intel_hdmi));
13891389
}
13901390

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

13941402
intel_hdmi_unset_edid(connector);
13951403

0 commit comments

Comments
 (0)