Bug 109273 - HDMI not working on Skylake with EDID read error
Summary: HDMI not working on Skylake with EDID read error
Status: RESOLVED NOTABUG
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) All
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-10 11:40 UTC by Jan-Marek Glogowski
Modified: 2019-01-10 16:03 UTC (History)
1 user (show)

See Also:
i915 platform: SKL
i915 features:


Attachments
Boot of E756 with HDMI failure. (148.77 KB, text/x-log)
2019-01-10 11:40 UTC, Jan-Marek Glogowski
no flags Details
Snippet of U757 with the same monitor correctly initialized on the HDMI port (20.78 KB, text/x-log)
2019-01-10 11:42 UTC, Jan-Marek Glogowski
no flags Details
Boot log as of drm-tip: 2019y-01m-10d-13h-08m-11s UTC integration manifest (229.10 KB, text/x-log)
2019-01-10 14:47 UTC, Jan-Marek Glogowski
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jan-Marek Glogowski 2019-01-10 11:40:21 UTC
Created attachment 143056 [details]
Boot of E756 with HDMI failure.

I have two Skylake based laptops with build-in DP and HDMI output / adapters. DP works fine on both, but one of them doesn't work with HDMI connections.

The working one is a Fujitsu U757 with, according to intel_hdmi_set_edid, a "DP dual mode adaptor (type 2 HDMI) detected (max TMDS clock: 300000 kHz)".

The broken one is a Fujitsu E756 with a "DP dual mode adaptor (type 1 HDMI) detected (max TMDS clock: 165000 kHz)".

The attached logs are from an Ubuntu 4.20 vanilla build.

The attached the snipped shows the U757 when the HDMI-attached monitor is correctly detected.

The other log is a full boot log with attach and unplug from the broken E756, minus all the drm:drm_mode_addfb2 calls:

[  109.680992] …
[drm:intel_hdmi_detect [i915]] [CONNECTOR:84:HDMI-A-1]
[drm:do_gmbus_xfer [i915]] GMBUS [i915 gmbus dpb] NAK for addr: 0050 w(1)
[drm:do_gmbus_xfer [i915]] GMBUS [i915 gmbus dpb] NAK on first message, retry
[drm:do_gmbus_xfer [i915]] GMBUS [i915 gmbus dpb] NAK for addr: 0050 w(1)
[drm:drm_do_probe_ddc_edid [drm]] drm: skipping non-existent adapter i915 gmbus dpb
[drm:intel_hdmi_set_edid [i915]] HDMI GMBUS EDID read failed, retry using GPIO bit-banging
[drm:intel_gmbus_force_bit [i915]] enabling bit-banging on i915 gmbus dpb. force bit now 1
[drm:drm_do_probe_ddc_edid [drm]] drm: skipping non-existent adapter i915 gmbus dpb
[drm:intel_gmbus_force_bit [i915]] disabling bit-banging on i915 gmbus dpb. force bit now 0
[drm:drm_dp_dual_mode_detect [drm_kms_helper]] DP dual mode HDMI ID: DP-HDMI ADAPTOR\004 (err 0)
[drm:drm_dp_dual_mode_detect [drm_kms_helper]] DP dual mode adaptor ID: ff (err 0)
[drm:intel_hdmi_set_edid [i915]] DP dual mode adaptor (type 1 HDMI) detected (max TMDS clock: 165000 kHz)

There were some people claiming broken Intel-HDMI when upgrading from Ubuntu 17.10 to 18.04. So I tried various vanilla Ubuntu kernel builds, with approximately match Ubuntu released builds, minus some patches:

* 4.20.0-042000-generic
* 4.15.0-39-generic (18.04)
* 4.13.16-041316-generic (17.10)
* 4.4.169-0404169-generic (16.04)

None of them worked for me. Even tried Intel instead of modeset, but that didn't help too. And I even tried with nomodeset kernel parameter, which didn't work at all.
Comment 1 Jan-Marek Glogowski 2019-01-10 11:42:01 UTC
Created attachment 143057 [details]
Snippet of U757 with the same monitor correctly initialized on the HDMI port
Comment 2 Radosław Szwichtenberg 2019-01-10 13:07:31 UTC
Thanks a lot for submitting a bug!
Please try to reproduce the error using drm-tip (https://cgit.freedesktop.org/drm-tip) and kernel parameters drm.debug=0x1e log_buf_len=4M, and if the problem persists attach the full dmesg from boot.
Comment 3 shashank.sharma@intel.com 2019-01-10 13:42:38 UTC
From the logs I can see that these 2 devices have different type of adapters:

The success case (U757): is a type 2 DP->HDMI
[drm_kms_helper]] DP dual mode HDMI ID: DP-HDMI ADAPTOR\004 (err 0)
[drm_kms_helper]] DP dual mode adaptor ID: a0 (err 0)
[i915]] DP dual mode adaptor (type 2 HDMI) detected (max TMDS clock: 300000 kHz)


The failure case (E756): is a Type 1 DP->HDMI 
[drm_kms_helper]] DP dual mode HDMI ID: DP-HDMI ADAPTOR\004 (err 0)
[drm_kms_helper]] DP dual mode adaptor ID: ff (err 0)
[i915]] DP dual mode adaptor (type 1 HDMI) detected (max TMDS clock: 165000 kHz)

Looks like the type-1 adapter is not responding to i2c-over-aux reads after one power-down, which is causing the HDMI monitor detection and EDID read failure, and driver is assuming there is no HDMI connected, causing blank on the screen.
Comment 4 Jan-Marek Glogowski 2019-01-10 14:47:31 UTC
Created attachment 143059 [details]
Boot log as of drm-tip: 2019y-01m-10d-13h-08m-11s UTC integration manifest
Comment 5 Ville Syrjala 2019-01-10 14:49:48 UTC
Looks like the E756 adapter is simply broken. Do you have another machine where you could test that adapter?
Comment 6 Jan-Marek Glogowski 2019-01-10 15:16:31 UTC
(In reply to shashank.sharma@intel.com from comment #3)
> From the logs I can see that these 2 devices have different type of adapters:
> 
> Looks like the type-1 adapter is not responding to i2c-over-aux reads after
> one power-down, which is causing the HDMI monitor detection and EDID read
> failure, and driver is assuming there is no HDMI connected, causing blank on
> the screen.

All I found about "type-1" and "type-2" is that the first is just some passive stuff, while the 2nd is real. I had a look at do_gmbus_xfer and it does some clock gating for newer HW. But I don't know how all this stuff should work together.

As you can see, no change for drm-tip. I booted with HDMI already connected, so there is no plug + unplug in the log.

(In reply to Ville Syrjala from comment #5)
> Looks like the E756 adapter is simply broken. Do you have another machine
> where you could test that adapter?

I was told it works with Windows, but that was quite some time ago. The adapter is build-in. I can probably organize a Windows install on that machine to verify, if it really works, if you suspect it's a hardware problem.

Anything else to test before doing the OS swap twice? It'll probably take a day.
Comment 7 Jani Saarinen 2019-01-10 15:39:58 UTC
hi,
Update from Sashank too and similar findings:
From the logs I can see that these 2 devices have different type of adapters:

The success case (U757): is a type 2 DP->HDMI [drm_kms_helper]] DP dual mode HDMI ID: DP-HDMI ADAPTOR\004 (err 0) [drm_kms_helper]] DP dual mode adaptor ID: a0 (err 0) [i915]] DP dual mode adaptor (type 2 HDMI) detected (max TMDS clock: 300000 kHz)


The failure case (E756): is a Type 1 DP->HDMI [drm_kms_helper]] DP dual mode HDMI ID: DP-HDMI ADAPTOR\004 (err 0) [drm_kms_helper]] DP dual mode adaptor ID: ff (err 0) [i915]] DP dual mode adaptor (type 1 HDMI) detected (max TMDS clock: 165000 kHz)

Looks like the type-1 adapter is not responding to i2c-over-aux reads after one power-down, which is causing the detection failure, further causing the display failures.
Comment 8 Jan-Marek Glogowski 2019-01-10 16:03:36 UTC
I just checked a 2nd E756 and it's HDMI port worked with std. Ubuntu 18.04 kernel (4.15), so I guess it's really broken HW.

Thanks for looking into the problem.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.