[PATCH 4/4] drm: bridge/dw-hdmi: use rx sense for plug detection if hpd is unreliable
Russell King - ARM Linux
linux at arm.linux.org.uk
Fri Jan 8 03:34:40 PST 2016
On Fri, Jan 08, 2016 at 10:02:07AM +0100, Philipp Zabel wrote:
> Due to the voltage divider on the HPD line, the HDMI connector on
> imx6q-sabrelite doesn't reliably detect connected DVI monitors.
> This patch allows to use the RX_SENSE signals as a workaround when
> enabled by a boolean device tree property 'hpd-unreliable'.
There's a got-cha here. On iMX6S, the RXSENSE interrupts bounce
around madly if the HDMI interface is not fully configured. I've
seen this many times at boot time (I've been carrying a patch which
reports the HPD/RXSENSE state to the kernel log for a long time now,
it can be rather noisy.)
It's also out-of-spec for reading the EDID: the EDID is only valid
when HPD is asserted. When HPD is deasserted, the EDID may not be
accessible. Using RXSENSE opens a window where the EDID may be
unavailable, or may be mid-way through being updated depending on
how the sink hardware works.
With a Yamaha RX-V677 AV receiver and a Panasonic TV, I've observed
this:
initial(-rxsense,-hpd), AV standby, TV standby.
Connected to AV: +rxsense, +hpd
EDID reads from AV
TV standby->on: -hpd, 2s, +hpd
EDID reads from TV
AV standby->on: -hpd, 1.2s, +hpd
EDID reads combined TV/AV
AV on->standby: -hpd, 1.2s, +hpd
EDID reads from TV
Note that RXSENSE did not drop, but the EDID changed, and that change
was properly signalled via HPD according to the HDMI standard.
--
RMK's Patch system: http://www.arm.linux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
More information about the dri-devel
mailing list