]> git.karo-electronics.de Git - karo-tx-linux.git/commit
drm/radeon/kms: fix hardcoded EDID handling
authorAlex Deucher <alexdeucher@gmail.com>
Wed, 23 Mar 2011 08:10:10 +0000 (08:10 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 27 Mar 2011 19:00:40 +0000 (12:00 -0700)
commit0b752dd3db00682bbd33a886d5c62eb4db3bd0d3
tree84f804f170f4ecccee0ca4128c95765b53f006a4
parent0e8180c09032619ff4980d6e59dc63ca2e60f774
drm/radeon/kms: fix hardcoded EDID handling

commit fafcf94e2b5732d1e13b440291c53115d2b172e9 upstream.

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: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/gpu/drm/radeon/radeon_combios.c
drivers/gpu/drm/radeon/radeon_connectors.c
drivers/gpu/drm/radeon/radeon_mode.h