[PATCH] drm/i915: Fix the HDMI hot plug disconnection failure (v7)

Guang Bai guang.bai at intel.com
Wed Nov 28 18:23:37 UTC 2018


On some platforms, slowly unplugging (wiggling) the HDMI cable makes
the kernel to believe the HDMI display still connected. This is because
the HDMI DDC lines are disconnected sometimes later after the hot-plug
interrupt triggered. Use the hot plug live states to honor HDMI hot plug
status in addtion to access the DDC channels.

v2: Fix the formatting issue
v3: Use connector type to apply changes to HDMI port only (James & Matt)
v4: Added debug info for testing
v5: Try local hot-plug call for debugging purpose
v6: Bypass edid fetch when hdmi disconnected in the midst of hot-plug
v7: Use digital port status to decide edid fetch or not

Cc: Jani Nikula <jani.nikula at intel.com>
Cc: Chris Chiu <chiu at endlessm.com>
Signed-off-by: Guang Bai <guang.bai at intel.com>
---
 drivers/gpu/drm/i915/intel_hdmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index e2c6a2b3e8f2..8cf7c78b8cdd 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -1929,7 +1929,7 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)
 
 	intel_display_power_get(dev_priv, POWER_DOMAIN_GMBUS);
 
-	if (IS_ICELAKE(dev_priv) &&
+	if ((IS_ICELAKE(dev_priv) || IS_GEN9_BC(dev_priv)) &&
 	    !intel_digital_port_connected(encoder))
 		goto out;
 
-- 
2.17.1



More information about the Intel-gfx-trybot mailing list