• Russell King's avatar
    drm: bridge/dw_hdmi: add connector mode forcing · 381f05a7
    Russell King authored
    When connected to HDMI sources, some DVI monitors de-assert their HPD
    signal and TDMS loads for one seconds every four seconds when there is
    no signal present on the connection.
    
    Unfortunately, this behaviour is indistinguishable from a proper HDMI
    setup with an AV receiver in the path to the display: the HDMI spec
    requires us to detect HPD deassertions as short as 100ms, which indicate
    that the EDID has changed.
    
    Since it is possible to connect a DVI monitor to an AV receiver and then
    to a HDMI source, merely working around this by detecting the lack of
    HDMI vendor block in the EDID is insufficient - the AV receiver is at
    liberty to modify the EDID as it sees fit, and it will place its own
    parameters into the EDID including the HDMI vendor block.
    
    DRM has support for forcing the state of a connector, which we should
    implement to allow us to work around these broken DVI monitors - we can
    tell DRM to force the connection state to indicate that there is always
    a device connected to work around this problem.  Although this requires
    manual configuration, it is better than nothing at all.
    
    When a forced connection state has been set, there is no point handling
    our RXSENSE interrupts, so disable them in this circumstance.
    Tested-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
    Reviewed-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    381f05a7
dw_hdmi.c 48.6 KB