diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2011-03-23 09:10:10 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-03-24 11:24:32 +0100 |
commit | fafcf94e2b5732d1e13b440291c53115d2b172e9 (patch) | |
tree | 349e6eccfdd57b619aa8e7acca5468a689f03f58 /drivers/gpu/drm/radeon/radeon_mode.h | |
parent | Merge remote branch 'intel/drm-intel-fixes' of ../drm-next into drm-core-next (diff) | |
download | linux-fafcf94e2b5732d1e13b440291c53115d2b172e9.tar.xz linux-fafcf94e2b5732d1e13b440291c53115d2b172e9.zip |
drm/radeon/kms: fix hardcoded EDID handling
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>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_mode.h')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_mode.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_mode.h b/drivers/gpu/drm/radeon/radeon_mode.h index 5067d18d0009..1ae6846de827 100644 --- a/drivers/gpu/drm/radeon/radeon_mode.h +++ b/drivers/gpu/drm/radeon/radeon_mode.h @@ -239,6 +239,7 @@ struct radeon_mode_info { struct drm_property *underscan_vborder_property; /* hardcoded DFP edid from BIOS */ struct edid *bios_hardcoded_edid; + int bios_hardcoded_edid_size; /* pointer to fbdev info structure */ struct radeon_fbdev *rfbdev; |