PROBLEM: Intel HDMI output busticated on 4.4 (regression)

From: Nick Bowler
Date: Tue Jan 19 2016 - 17:26:48 EST


Hi,

Upgrading from 4.3 to 4.4 breaks my HDMI output on my G45 machine.

As soon as the intel driver is loaded, the monitor shuts off
(standby mode). Inspecting /sys/class/drm/card0-HDMI-A-1/status
reports "disconnected". When it is working, this attribute says
"connected".

There is nothing unusual printed to dmesg.

Bisection pinpoints the following:

237ed86c693d8a8e4db476976aeb30df4deac74b is the first bad commit
commit 237ed86c693d8a8e4db476976aeb30df4deac74b
Author: Sonika Jindal <sonika.jindal@xxxxxxxxx>
Date: Tue Sep 15 09:44:20 2015 +0530

drm/i915: Check live status before reading edid
[...]
Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx>
Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx>

The commit does not revert cleanly, but this patch resolves the issue:

diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index e6c035b0fc1c..8cefb9105f26 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -1393,7 +1393,7 @@ intel_hdmi_detect(struct drm_connector *connector, bool force)

intel_hdmi_unset_edid(connector);

- if (intel_hdmi_set_edid(connector, live_status)) {
+ if (intel_hdmi_set_edid(connector, true)) {
struct intel_hdmi *intel_hdmi = intel_attached_hdmi(connector);

hdmi_to_dig_port(intel_hdmi)->base.type = INTEL_OUTPUT_HDMI;

Let me know if you need any more info.

Thanks,
Nick