linux/drivers/gpu/drm/radeon
Alex Deucher fafcf94e2b 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>
2011-03-24 20:24:32 +10:00
..
reg_srcs Merge remote branch 'intel/drm-intel-next' of ../drm-next into drm-core-next 2011-03-14 14:15:13 +10:00
.gitignore drm: create gitignore file for radeon 2009-09-25 13:08:21 +10:00
Kconfig drm/radeon: fix power supply kconfig interaction. 2010-05-21 15:41:20 +10:00
Makefile drm/radeon/kms: add cayman CS check support 2011-03-03 11:56:56 +10:00
ObjectID.h drm/radeon/kms: upstream ObjectID.h updates 2010-11-23 09:23:14 +10:00
atom-bits.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
atom-names.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
atom-types.h drm/radeon: introduce kernel modesetting for radeon hardware 2009-06-15 12:01:53 +10:00
atom.c Merge remote branch 'intel/drm-intel-next' of /ssd/git/drm-next into drm-core-next 2010-12-22 09:48:54 +10:00
atom.h drm/radeon/kms: add ioport register access 2010-08-02 10:00:07 +10:00
atombios.h Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
atombios_crtc.c drm/radeon/kms: prefer legacy pll algo for tv-out 2011-03-23 14:16:19 +10:00
atombios_dp.c radeon/kms: fix dp displayport mode validation 2011-01-27 13:52:05 +10:00
avivod.h [rfc] drm/radeon/kms: pm debugging check for vbl. 2010-02-23 09:46:21 +10:00
cayman_blit_shaders.c drm/radeon/kms: additional default context regs for cayman 2011-03-03 11:56:58 +10:00
cayman_blit_shaders.h drm/radeon/kms: add support for CP setup on cayman asics 2011-03-03 11:51:13 +10:00
evergreen.c Merge commit '5359533801e3dd3abca5b7d3d985b0b33fd9fe8b' into drm-core-next 2011-03-16 11:34:41 +10:00
evergreen_blit_kms.c Merge commit '5359533801e3dd3abca5b7d3d985b0b33fd9fe8b' into drm-core-next 2011-03-16 11:34:41 +10:00
evergreen_blit_shaders.c drm/radeon/kms: evergreen/ni big endian fixes (v2) 2011-02-14 10:10:09 +10:00
evergreen_blit_shaders.h drm/radeon/kms: add drm blit support for evergreen 2010-10-06 11:46:30 +10:00
evergreen_cs.c drm: radeon: *_cs_packet_parse_vline() cleanup 2011-03-17 13:50:43 +10:00
evergreen_reg.h drm/radeon/kms: add pageflip ioctl support (v3) 2010-11-22 11:51:08 +10:00
evergreend.h Merge remote branch 'intel/drm-intel-next' of ../drm-next into drm-core-next 2011-03-14 14:15:13 +10:00
mkregtable.c radeon mkregtable: Add missing fclose() calls 2011-02-14 09:22:54 +10:00
ni.c Merge commit '5359533801e3dd3abca5b7d3d985b0b33fd9fe8b' into drm-core-next 2011-03-16 11:34:41 +10:00
ni_reg.h drm/radeon/kms: add ni_reg.h 2011-01-07 14:11:38 +10:00
nid.h drm/radeon/kms: add cayman asic reset support 2011-03-03 11:51:21 +10:00
r100.c drm: radeon: *_cs_packet_parse_vline() cleanup 2011-03-17 13:50:43 +10:00
r100_track.h drm/radeon/kms: check AA resolve registers on r300 2011-02-14 10:12:14 +10:00
r100d.h drm/radeon: Definition of R_0003C2_GENMO_WT seems wrong 2010-12-21 12:55:33 +10:00
r200.c drm/radeon/kms: optimize CS state checking for r100->r500 2011-02-14 09:23:27 +10:00
r300.c drm/radeon/kms: do not reject X16 and Y16X16 floating-point formats on r300 2011-02-17 13:55:30 +10:00
r300_cmdbuf.c drm/radeon: Fix sparc regression in r300_scratch() 2010-04-27 09:40:57 +10:00
r300_reg.h drm/radeon/kms: check AA resolve registers on r300 2011-02-14 10:12:14 +10:00
r300d.h drm/radeon/kms: manage r300 CMASK RAM access and allow CMASK clear 2011-01-06 13:00:45 +10:00
r420.c drm/radeon/kms: clean up some magic numbers 2011-01-27 13:53:30 +10:00
r420d.h drm/radeon/kms: Convert RS400/RS480 to new init path & fix legacy VGA (V3) 2009-10-02 08:51:46 +10:00
r500_reg.h drm/radeon/kms: add pageflip ioctl support (v3) 2010-11-22 11:51:08 +10:00
r520.c drm/radeon/kms: clean up some magic numbers 2011-01-27 13:53:30 +10:00
r520d.h drm/radeon/kms: Convert R520 to new init path and associated cleanup 2009-09-29 11:15:56 +10:00
r600.c Merge commit '5359533801e3dd3abca5b7d3d985b0b33fd9fe8b' into drm-core-next 2011-03-16 11:34:41 +10:00
r600_audio.c radeon: consolidate asic-specific function decls for r600 & later 2011-02-23 10:35:20 +10:00
r600_blit.c drm/radeon: 6xx/7xx non-kms endian fixes 2011-02-14 09:23:35 +10:00
r600_blit_kms.c Merge commit '5359533801e3dd3abca5b7d3d985b0b33fd9fe8b' into drm-core-next 2011-03-16 11:34:41 +10:00
r600_blit_shaders.c drm/radeon/kms: 6xx/7xx big endian fixes 2011-02-14 09:23:38 +10:00
r600_blit_shaders.h drm/radeon: add some missing copyright headers 2010-09-13 20:26:04 +10:00
r600_cp.c drm/radeon: 6xx/7xx non-kms endian fixes 2011-02-14 09:23:35 +10:00
r600_cs.c drm: radeon: *_cs_packet_parse_vline() cleanup 2011-03-17 13:50:43 +10:00
r600_hdmi.c radeon: consolidate asic-specific function decls for r600 & later 2011-02-23 10:35:20 +10:00
r600_reg.h drm/radeon/kms: fix r6xx+ scanout on BE systems 2011-01-27 13:54:13 +10:00
r600d.h Merge remote branch 'intel/drm-intel-next' of ../drm-next into drm-core-next 2011-03-14 14:15:13 +10:00
radeon.h Merge commit '5359533801e3dd3abca5b7d3d985b0b33fd9fe8b' into drm-core-next 2011-03-16 11:34:41 +10:00
radeon_acpi.c drm/radeon: tone down overchatty acpi debug messages. 2010-08-04 11:16:56 +10:00
radeon_agp.c drm/radeon/kms: fix agp mode setup on cards that use pcie bridges 2010-08-20 08:48:55 +10:00
radeon_asic.c Merge commit '5359533801e3dd3abca5b7d3d985b0b33fd9fe8b' into drm-core-next 2011-03-16 11:34:41 +10:00
radeon_asic.h drm/radeon/kms: add radeon_asic entry for cayman 2011-03-03 11:56:50 +10:00
radeon_atombios.c drm/radeon/kms: atombios big endian fixes 2011-02-14 09:23:36 +10:00
radeon_atpx_handler.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
radeon_benchmark.c drm/radeon: embed struct drm_gem_object 2011-02-23 10:33:03 +10:00
radeon_bios.c drm/radeon/kms: add disabled vbios accessor for NI asics 2011-01-07 14:11:30 +10:00
radeon_clocks.c drm/radeon/kms: remove useless clock code 2010-09-02 11:28:52 +10:00
radeon_combios.c drm/radeon/kms: fix hardcoded EDID handling 2011-03-24 20:24:32 +10:00
radeon_connectors.c drm/radeon/kms: fix hardcoded EDID handling 2011-03-24 20:24:32 +10:00
radeon_cp.c drm: rework PCI/platform driver interface. 2011-02-07 13:09:36 +10:00
radeon_cs.c drm/radeon: introduce gem_to_radeon_bo helper 2011-02-23 10:34:47 +10:00
radeon_cursor.c Merge branch 'drm-fixes' of /home/airlied/kernel/linux-2.6 into drm-core-next 2010-10-19 09:48:34 +10:00
radeon_device.c Merge remote branch 'intel/drm-intel-next' of ../drm-next into drm-core-next 2011-03-14 14:15:13 +10:00
radeon_display.c Merge remote branch 'intel/drm-intel-next' of ../drm-next into drm-core-next 2011-03-14 14:15:13 +10:00
radeon_drv.c drm/radeon: add new getparam for number of backends. 2011-03-01 15:01:20 +10:00
radeon_drv.h drm/radeon: 6xx/7xx non-kms endian fixes 2011-02-14 09:23:35 +10:00
radeon_encoders.c drm/radeon/kms: atombios big endian fixes 2011-02-14 09:23:36 +10:00
radeon_family.h drm/radeon/kms: add cayman chip family 2011-03-03 11:48:34 +10:00
radeon_fb.c Merge remote branch 'intel/drm-intel-next' of ../drm-next into drm-core-next 2011-03-14 14:15:13 +10:00
radeon_fence.c radeon: merge list_del()/list_add_tail() to list_move_tail() 2011-03-17 13:50:40 +10:00
radeon_gart.c Merge branch 'drm-mm-cleanup' into drm-next 2011-02-23 12:07:27 +10:00
radeon_gem.c drm/radeon: fixup refcounts in radeon dumb create ioctl. 2011-03-17 13:58:34 +10:00
radeon_i2c.c drm/radeon/kms: i2c s/sprintf/snprintf/g for safety 2010-11-19 09:27:48 +10:00
radeon_ioc32.c drm: convert drm_ioctl to unlocked_ioctl 2009-12-18 11:22:31 +10:00
radeon_irq.c drm: radeon: fix error value sign 2010-11-18 14:55:46 +10:00
radeon_irq_kms.c drm/radeon/kms: Initialize pageflip spinlocks. 2011-01-24 11:01:26 +10:00
radeon_kms.c drm/radeon/kms: add gpu_init function for cayman 2011-03-03 11:50:59 +10:00
radeon_legacy_crtc.c Merge commit '5359533801e3dd3abca5b7d3d985b0b33fd9fe8b' into drm-core-next 2011-03-16 11:34:41 +10:00
radeon_legacy_encoders.c drm/radeon/kms/atom: cleanup and unify DVO handling 2010-11-18 14:56:31 +10:00
radeon_legacy_tv.c drm/radeon/kms: move a bunch of modesetting debug to correct debug usage. 2010-08-02 10:47:07 +10:00
radeon_mem.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
radeon_mode.h drm/radeon/kms: fix hardcoded EDID handling 2011-03-24 20:24:32 +10:00
radeon_object.c drm/radeon: fix up dereferencing of busy objects. 2011-03-01 15:01:14 +10:00
radeon_object.h drm/radeon: embed struct drm_gem_object 2011-02-23 10:33:03 +10:00
radeon_pm.c drm/radeon/kms: dynamically allocate power state space 2011-02-04 09:46:35 +10:00
radeon_reg.h drm/radeon/kms: clean up some magic numbers 2011-01-27 13:53:30 +10:00
radeon_ring.c drm/radeon: embed struct drm_gem_object 2011-02-23 10:33:03 +10:00
radeon_state.c drm: block userspace under allocating buffer and having drivers overwrite it (v2) 2010-08-17 14:52:25 +10:00
radeon_test.c drm/radeon: embed struct drm_gem_object 2011-02-23 10:33:03 +10:00
radeon_trace.h drm/radeon: add initial tracepoint support. 2010-12-16 14:37:47 +10:00
radeon_trace_points.c drm/radeon: add initial tracepoint support. 2010-12-16 14:37:47 +10:00
radeon_ttm.c Merge commit '5359533801e3dd3abca5b7d3d985b0b33fd9fe8b' into drm-core-next 2011-03-16 11:34:41 +10:00
rs100d.h drm/radeon/kms: Convert R100 to new init path (V2) 2009-10-02 08:51:49 +10:00
rs400.c drm/radeon/kms: clean up some magic numbers 2011-01-27 13:53:30 +10:00
rs400d.h drm/radeon/kms: Convert RS400/RS480 to new init path & fix legacy VGA (V3) 2009-10-02 08:51:46 +10:00
rs600.c drm/radeon: fix problem with changing active VRAM size. (v2) 2011-03-14 12:51:04 +10:00
rs600d.h drm/radeon/kms: enable misc pm power state features on r5xx, rs6xx 2010-05-18 18:21:42 +10:00
rs690.c drm/radeon: fix problem with changing active VRAM size. (v2) 2011-03-14 12:51:04 +10:00
rs690d.h drm/radeon/kms: display watermark updates (v2) 2010-03-31 14:54:47 +10:00
rv200d.h drm/radeon/kms: Convert R100 to new init path (V2) 2009-10-02 08:51:49 +10:00
rv250d.h drm/radeon/kms: Convert R100 to new init path (V2) 2009-10-02 08:51:49 +10:00
rv350d.h drm/radeon/kms: Convert RS400/RS480 to new init path & fix legacy VGA (V3) 2009-10-02 08:51:46 +10:00
rv515.c drm/radeon/kms: clean up some magic numbers 2011-01-27 13:53:30 +10:00
rv515d.h drm/radeon/kms: simplify & improve GPU reset V2 2010-04-06 11:21:11 +10:00
rv770.c Merge commit '5359533801e3dd3abca5b7d3d985b0b33fd9fe8b' into drm-core-next 2011-03-16 11:34:41 +10:00
rv770d.h drm/radeon/kms: 6xx/7xx big endian fixes 2011-02-14 09:23:38 +10:00