• Thomas Reim's avatar
    drm/radeon: Extended DDC Probing for Connectors with Improperly Wired DDC... · e384fab8
    Thomas Reim authored
    drm/radeon: Extended DDC Probing for Connectors with Improperly Wired DDC Lines (here: Asus M2A-VM HDMI)
    
        Some integrated ATI Radeon chipset implementations with add-on HDMI card
        (e. g. Asus M2A-VM HDMI) indicate the availability of a DDC even
        when the add-on card is not plugged in or HDMI is disabled in BIOS setup.
        In this case, drm_get_edid() and drm_edid_block_valid() periodically
        dump data and kernel errors into system log files and onto terminals.
        For these connectors DDC probing is extended by a check for a correct
        EDID header. Only in case a valid EDID header is also found, the
        (HDMI or DVI) connector will be used by the Radeon driver. This prevents
        the kernel driver from useless flooding of logs and terminal sessions with
        EDID dumps and error messages.
        This patch adds a flag 'requires_extended_probe' to the radeon_connector
        structure. In function radeon_connector_needs_extended_probe() this flag
        can be set on a chipset family/vendor/connector type specific basis.
        In addition, function radeon_ddc_probe() has been adapted to perform
        extended DDC probing if required by the connector's flag.
        Requires function drm_edid_header_is_valid() in DRM module provided by
        [PATCH] drm: Separate EDID Header Check from EDID Block Check.
    
        Tested for kernel 2.6.35, 2.6.38 and 3.0 on Asus M2A-VM HDMI board
    
        BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=668196
        BugLink: http://bugs.launchpad.net/bugs/7228066
    
    Cc: <stable@kernel.org>
    Signed-off-by: default avatarThomas Reim <reimth@gmail.com>
    Reviewed-by: default avatarAlex Deucher <alexdeucher@gmail.com>
    Acked-by: default avatarStephen Michaels <Stephen.Micheals@gmail.com>
    Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
    e384fab8
radeon_display.c 49.1 KB