• Alex Deucher's avatar
    drm/radeon/kms: fix hardcoded EDID handling · fafcf94e
    Alex Deucher authored
    On some servers there is a hardcoded EDID provided
    in the vbios so that the driver will always see a
    display connected even if something like a KVM
    prevents traditional means like DDC or load
    detection from working properly.  Also most
    server boards with DVI are not actually DVI, but
    DVO connected to a virtual KVM service processor.
    If we fail to detect a monitor via DDC or load
    detection and a hardcoded EDID is available, use
    it.
    
    Additionally, when using the hardcoded EDID, use
    a copy of it rather than the actual one stored
    in the driver as the detect() and get_modes()
    functions may free it if DDC is successful.
    
    This fixes the virtual KVM on several internal
    servers.
    Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
    Cc: stable@kernel.org
    Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
    fafcf94e
radeon_combios.c 95.4 KB