Comment 43 for bug 1849484

Revision history for this message
In , Ville-syrjala-e (ville-syrjala-e) wrote :

(In reply to Maxim from comment #0)
> Created attachment 138193 [details]
> /sys/kernel/debug/dri/0/i915_display_info
>
> I have Lenovo X1 Carbon laptop from 2014 with the following CPU:
>
> Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz

I have a similar carbon and no real issues with any DP++ dongle I've tested.

> [15:47] i915 0000:00:02.0: HDMI-A-1: EDID is invalid:
> [ +0,000004] [00] BAD 00 ff ff ff ff ff ff 00 09 d1 bd 78 45 54 00 00
> [ +0,000001] [00] BAD 0b 17 01 03 80 30 1b 78 2e 9a d5 a3 59 55 9f 27
> [ +0,000001] [00] BAD 0c 50 54 21 08 00 61 c0 81 00 81 c0 81 40 81 80
> [ +0,000001] [00] BAD a9 c0 b3 00 d1 c0 02 3a 80 18 71 38 2d 40 58 2c
> [ +0,000001] [00] BAD 45 00 dd 0c 11 00 00 1e 00 00 00 ff 00 53 33 44
> [ +0,000001] [00] BAD 30 35 38 34 30 53 4c 30 0a 20 00 00 00 fd 00 32
> [ +0,000001] [00] BAD 4c 1e 53 11 00 0a 20 20 20 20 20 20 00 01 ff ff
> [ +0,000001] [00] BAD ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> [ +0,108525] i2c i2c-4: sendbytes: NAK bailout.

So it failed even with bit banging :(

> [ +9,914962] [drm:drm_dp_dual_mode_detect] *ERROR* Unexpected DP dual mode
> adaptor ID 44
> [ +0,261571] [drm:drm_dp_dual_mode_detect] *ERROR* Unexpected DP dual mode
> adaptor ID 44

And the dongle itself is returning garbage when we try to access its registers, so the problem is not limited to the ddc passthrough.

One thing you may want to try is slow down the i2c bus further. We use 100kHz by default, and you may want to try something like 10kHz instead.

--- a/drivers/gpu/drm/i915/intel_i2c.c
+++ b/drivers/gpu/drm/i915/intel_i2c.c
@@ -127,7 +127,7 @@ bool intel_gmbus_is_valid_pin(struct drm_i915_private *dev_priv,

 /* Intel GPIO access functions */

-#define I2C_RISEFALL_TIME 10
+#define I2C_RISEFALL_TIME 100