Bug 31154

Summary: EIZO S2242W has invalid extension block, no display
Product: DRI Reporter: sam tygier <samtygier>
Component: DRM/RadeonAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
0001-DRM-ignore-invalid-EDID-extensions.patch none

Description sam tygier 2010-10-27 01:33:47 UTC
i have a EIZO S2242W display, and radeon HD3650

with 2.6.34 it worked fine. only the base block of the EDID was read:
	EDID:
		00ffffffffffff0015c3042001010101
		1113010380301e78eaf5c5a85337ae25
		125054a10800a94081808140b3000101
		010101010101283c80a070b023403020
		3600da291100001a000000ff00323530
		32363034390a20202020000000fd003b
		3d1f4c11000a202020202020000000fc
		005332323432570a2020202020200154

since 2.6.35 (i noticed at rc4) it will not display to the monitor past very early boot messages. X wont display, neither will VTs. this is because drm_edid.c now reads extension blocks, and the EZIO gives a block of zeros for the extension block.

kernel: [    6.371608] [drm:drm_edid_block_valid] *ERROR* Raw EDID:
kernel: [    6.371644] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
kernel: [    6.371646] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
kernel: [    6.371648] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
kernel: [    6.371650] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
kernel: [    6.371652] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
kernel: [    6.371654] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
kernel: [    6.371656] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
kernel: [    6.371658] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
kernel: [    6.371660] 
kernel: [    6.371664] radeon 0000:08:00.0: DVI-I-1: EDID block 1 invalid.

booting with radeon.modeset=0 seems to by pass this so that i have a working system.

i have bisected the change to:
61e57a8d72f2336faf39b5d940215cf085e01e6e is the first bad commit
commit 61e57a8d72f2336faf39b5d940215cf085e01e6e
Author: Adam Jackson <ajax <at> redhat.com>
Date:   Mon Mar 29 21:43:18 2010 +0000
 drm/edid: Fix secondary block fetch.
Comment 1 sam tygier 2010-10-27 01:39:12 UTC
there is some discussion at http://thread.gmane.org/gmane.comp.video.dri.devel/50127
Comment 2 sam tygier 2010-10-27 01:40:35 UTC
Created attachment 39803 [details] [review]
0001-DRM-ignore-invalid-EDID-extensions.patch

this patch skips over invalid extension blocks, allowing the valid base block to be returned, and my monitor to work.
Comment 3 sam tygier 2010-10-28 15:36:56 UTC
tested with fresh torvalds/linux-2.6.git kernel, 81280572ca6f54009edfa4deee563e8678784218

the issue is still present, and the patch still applies cleanly and fixes it.
Comment 4 sam tygier 2010-11-03 04:37:52 UTC
https://bugs.launchpad.net/linux/+bug/601376/comments/44 seems to be the same issue on nvidia card, with a different monitor
Comment 5 sam tygier 2010-11-13 11:10:12 UTC
i confirmed that this is fixed in linus' tree by the recent dri merge.

commit is 0ea75e23356f73b4300492e04a62c90787a55c2d

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.