linux icon indicating copy to clipboard operation
linux copied to clipboard

vc4: HDMI detection fail on some monitors

Open babyimp opened this issue 8 years ago • 14 comments
trafficstars

Hi,

Android Things DP 5.1 installed on RPI3 fails to detect HDMI connection status on some monitors such as UOTOO 7" TFT monitor and PI-topCEED (all monitors are physically connected via HDMI).

I traced where to fail and notice that a function vc4_hdmi_connector_detect in vc4_hdmi.c returns connector_status_disconnected in such cases.

Any hints or ideas to solve this issue?

babyimp avatar Oct 17 '17 23:10 babyimp

What kernel are you using? Does the failing monitor not expose an EDID block?

In general, when reporting display issues, you need drm.debug=0x1e on the kernel command line and to attach (not paste) the dmesg.

anholt avatar Oct 18 '17 21:10 anholt

Sorry about not recognizing the posting rule.

Kernel is 4.4. The monitor exposes an EDID block. dmesgs both on success case and on fail case attached. dmesg.tar.gz

babyimp avatar Oct 19 '17 00:10 babyimp

4.4 is ancient and I don't support it any more. Notably, it doesn't have HDMI HPD support on the pi3. Please update to the current supported branch (4.9) if you're going to stay on the downstream kernel tree.

anholt avatar Oct 19 '17 17:10 anholt

got it. let's see what will happen after updating to 4.9.

babyimp avatar Oct 23 '17 17:10 babyimp

Can we close this?

anholt avatar Nov 09 '17 18:11 anholt

oh, sorry. issue closed.

babyimp avatar Nov 09 '17 18:11 babyimp

I still see this issue after upgrading to 4.9. no issues with HP monitor, Acer monitor, and some others, while edid is not retrieved from UOTOO "7 TFT and some. dmesg attached (I also turn on i2c debug). @anholt can you give some comments? hdmi15.txt

babyimp avatar Jan 04 '18 00:01 babyimp

You've got a timeout on I2C. This may be your monitor being bad at I2C, or bcm2835-i2c being bad at I2C. I've got one fix laying around on the bcm2835-i2c-clock-stretch branch, and I think we also have some potential issues due to not setting I2C_DEL.

anholt avatar Feb 05 '18 13:02 anholt

Do you mean the drm-vc4-i2c-fix branch? Should we send this patch to upstream?

lategoodbye avatar Feb 05 '18 19:02 lategoodbye

Oh, I hadn't pushed the rename of the branch. Yeah, should probably submit.

anholt avatar Feb 06 '18 13:02 anholt

https://patchwork.kernel.org/patch/9148267/ was another i2c patch I wrote at one point

anholt avatar Feb 06 '18 16:02 anholt

The edge delay patch won't apply after dynamic clock support. I assume this change should go into bcm2835_i2c_set_divider().

lategoodbye avatar Feb 16 '18 12:02 lategoodbye

The delay patch should now be applied to the i2c tree, and it fixed EDID at least for Boris. https://patchwork.ozlabs.org/patch/870884/

anholt avatar Feb 22 '18 19:02 anholt

@babyimp have you tried since the i2c fixes?

anholt avatar Jan 17 '19 20:01 anholt