Bug 17511

Summary: Display no longer works with KMS enabled
Product: Drivers Reporter: Ravi Pinjala (pstatic)
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Status: RESOLVED INSUFFICIENT_DATA    
Severity: high CC: alan, alexdeucher
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.35.3 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: My .config (2.6.35.3)

Description Ravi Pinjala 2010-08-30 19:46:06 UTC
I upgraded to 2.6.35.3 from 2.6.32 yesterday. Today, I found that my system no longer wants to talk to my monitor. Specifically, when I boot normally (KMS enabled), the boot process gets to approximately where KMS would become active, and then the screen shuts off. (I saw the other bug where the screen shuts off for about a minute and then comes back up; no dice here. After five minutes, still dead.) 

(It's possible that this is a hardware bug, since the system worked fine with 2.6.35.3 last night, and only fails now. However, the timing is extremely suspicious - I've been using this monitor with this video card for years, and had a working KMS setup for quite a while.)

I can ssh in after a while, so I know that the rest of the system boots fine - it's just the display that's broken. Looking at /var/log/messages, I get the following error repeated about every ten seconds:


Aug 30 14:06:36 localhost kernel: [  342.308958] [drm:drm_edid_block_valid]
*ERROR* EDID checksum is invalid, remainder is 197
Aug 30 14:06:36 localhost kernel: [  342.308961] [drm:drm_edid_block_valid]
*ERROR* Raw EDID:
Aug 30 14:06:36 localhost kernel: [  342.308963] <3>00 ff ff ff ff ff ff 00 0d
af 28 22 01 01 01 01  ..........("....
Aug 30 14:06:36 localhost kernel: [  342.308966] <3>11 11 01 03 e8 2f 1e 78 2e
00 85 a4 59 49 9a 24  ...../.x....YI.$
Aug 30 14:06:36 localhost kernel: [  342.308968] <3>12 50 23 00 ef 00 81 80 81
40 71 4f 95 00 95 0f  .P#......@qO....
Aug 30 14:06:36 localhost kernel: [  342.308970] <3>b3 00 81 c0 8b c0 21 39 90
30 62 1a 27 40 68 a1  ......!9.0b.'@h.
Aug 30 14:06:36 localhost kernel: [  342.308973] <3>36 00 d9 28 11 00 00 1c 00
00 00 fd 00 38 4c 1e  6..(.........8L.
Aug 30 14:06:36 localhost kernel: [  342.308975] <3>52 10 00 0a 20 20 20 20 20
20 00 00 00 fc 00 43  R...      .....C
Aug 30 14:06:36 localhost kernel: [  342.308978] <3>4d 43 20 32 32 20 00 0a 20
20 00 20 00 00 00 ff  MC 22 ..  . ....
Aug 30 14:06:36 localhost kernel: [  342.308980] <3>00 30 0a 20 20 20 20 20 20
20 20 20 20 20 00 1e  .0.           ..
Aug 30 14:06:36 localhost kernel: [  342.308982]
Aug 30 14:06:36 localhost kernel: [  342.362073] [drm:drm_edid_block_valid]
*ERROR* EDID checksum is invalid, remainder is 197
Aug 30 14:06:36 localhost kernel: [  342.362076] [drm:drm_edid_block_valid]
*ERROR* Raw EDID:
Aug 30 14:06:36 localhost kernel: [  342.362078] <3>00 ff ff ff ff ff ff 00 0d
af 28 22 01 01 01 01  ..........("....
Aug 30 14:06:36 localhost kernel: [  342.362081] <3>11 11 01 03 e8 2f 1e 78 2e
00 85 a4 59 49 9a 24  ...../.x....YI.$
Aug 30 14:06:36 localhost kernel: [  342.362083] <3>12 50 23 00 ef 00 81 80 81
40 71 4f 95 00 95 0f  .P#......@qO....
Aug 30 14:06:36 localhost kernel: [  342.362085] <3>b3 00 81 c0 8b c0 21 39 90
30 62 1a 27 40 68 a1  ......!9.0b.'@h.
Aug 30 14:06:36 localhost kernel: [  342.362088] <3>36 00 d9 28 11 00 00 1c 00
00 00 fd 00 38 4c 1e  6..(.........8L.
Aug 30 14:06:36 localhost kernel: [  342.362090] <3>52 10 00 0a 20 20 20 20 20
20 00 00 00 fc 00 43  R...      .....C
Aug 30 14:06:36 localhost kernel: [  342.362093] <3>4d 43 20 32 32 20 00 0a 20
20 00 20 00 00 00 ff  MC 22 ..  . ....
Aug 30 14:06:36 localhost kernel: [  342.362095] <3>00 30 0a 20 20 20 20 20 20
20 20 20 20 20 00 1e  .0.           ..
Aug 30 14:06:36 localhost kernel: [  342.362097]
Aug 30 14:06:37 localhost kernel: [  342.415202] [drm:drm_edid_block_valid]
*ERROR* EDID checksum is invalid, remainder is 197
Aug 30 14:06:37 localhost kernel: [  342.415204] [drm:drm_edid_block_valid]
*ERROR* Raw EDID:
Aug 30 14:06:37 localhost kernel: [  342.415206] <3>00 ff ff ff ff ff ff 00 0d
af 28 22 01 01 01 01  ..........("....
Aug 30 14:06:37 localhost kernel: [  342.415209] <3>11 11 01 03 e8 2f 1e 78 2e
00 85 a4 59 49 9a 24  ...../.x....YI.$
Aug 30 14:06:37 localhost kernel: [  342.415211] <3>12 50 23 00 ef 00 81 80 81
40 71 4f 95 00 95 0f  .P#......@qO....
Aug 30 14:06:37 localhost kernel: [  342.415214] <3>b3 00 81 c0 8b c0 21 39 90
30 62 1a 27 40 68 a1  ......!9.0b.'@h.
Aug 30 14:06:37 localhost kernel: [  342.415216] <3>36 00 d9 28 11 00 00 1c 00
00 00 fd 00 38 4c 1e  6..(.........8L.
Aug 30 14:06:37 localhost kernel: [  342.415218] <3>52 10 00 0a 20 20 20 20 20
20 00 00 00 fc 00 43  R...      .....C
Aug 30 14:06:37 localhost kernel: [  342.415221] <3>4d 43 20 32 32 20 00 0a 20
20 00 20 00 00 00 ff  MC 22 ..  . ....
Aug 30 14:06:37 localhost kernel: [  342.415223] <3>00 30 0a 20 20 20 20 20 20
20 20 20 20 20 00 1e  .0.           ..
Aug 30 14:06:37 localhost kernel: [  342.415225]
Aug 30 14:06:37 localhost kernel: [  342.468381] [drm:drm_edid_block_valid]
*ERROR* EDID checksum is invalid, remainder is 197
Aug 30 14:06:37 localhost kernel: [  342.468384] [drm:drm_edid_block_valid]
*ERROR* Raw EDID:
Aug 30 14:06:37 localhost kernel: [  342.468386] <3>00 ff ff ff ff ff ff 00 0d
af 28 22 01 01 01 01  ..........("....
Aug 30 14:06:37 localhost kernel: [  342.468389] <3>11 11 01 03 e8 2f 1e 78 2e
00 85 a4 59 49 9a 24  ...../.x....YI.$
Aug 30 14:06:37 localhost kernel: [  342.468391] <3>12 50 23 00 ef 00 81 80 81
40 71 4f 95 00 95 0f  .P#......@qO....
Aug 30 14:06:37 localhost kernel: [  342.468393] <3>b3 00 81 c0 8b c0 21 39 90
30 62 1a 27 40 68 a1  ......!9.0b.'@h.
Aug 30 14:06:37 localhost kernel: [  342.468396] <3>36 00 d9 28 11 00 00 1c 00
00 00 fd 00 38 4c 1e  6..(.........8L.
Aug 30 14:06:37 localhost kernel: [  342.468398] <3>52 10 00 0a 20 20 20 20 20
20 00 00 00 fc 00 43  R...      .....C
Aug 30 14:06:37 localhost kernel: [  342.468400] <3>4d 43 20 32 32 20 00 0a 20
20 00 20 00 00 00 ff  MC 22 ..  . ....
Aug 30 14:06:37 localhost kernel: [  342.468403] <3>00 30 0a 20 20 20 20 20 20
20 20 20 20 20 00 1e  .0.           ..
Aug 30 14:06:37 localhost kernel: [  342.468405]
Aug 30 14:06:37 localhost kernel: [  342.468407] radeon 0000:01:00.0: DVI-I-1:
EDID block 0 invalid.
Aug 30 14:06:37 localhost kernel: [  342.468409] [drm:radeon_dvi_detect]
*ERROR* DVI-I-1: probed a monitor but no|invalid EDID

An earlier point in the log shows the same error but with slightly different data in the EDID, so it's possible that I really am that unlucky, and my EDIDs went bad the same day I upgraded my kernel.

Aug 29 22:41:36 localhost kernel: [27919.396961] [drm:drm_edid_block_valid]
*ERROR* EDID checksum is invalid, remainder is 241
Aug 29 22:41:36 localhost kernel: [27919.396965] [drm:drm_edid_block_valid]
*ERROR* Raw EDID:
Aug 29 22:41:36 localhost kernel: [27919.396969] <3>00 ff ff ff ff ff ff 00 0d
af 28 22 01 01 01 01  ..........("....
Aug 29 22:41:36 localhost kernel: [27919.396971] <3>11 11 01 03 e8 2f 1e 78 2e
c5 85 a4 59 49 9a 24  ...../.x....YI.$
Aug 29 22:41:36 localhost kernel: [27919.396974] <3>12 50 54 bf ef 00 81 80 81
40 71 4f 95 00 95 0f  .PT......@qO....
Aug 29 22:41:36 localhost kernel: [27919.396976] <3>b3 00 81 c0 8b c0 21 39 90
30 62 1a 27 40 68 a1  ......!9.0b.'@h.
Aug 29 22:41:36 localhost kernel: [27919.396979] <3>36 00 d9 28 11 00 00 1c 00
00 00 fd 00 38 4c 1e  6..(.........8L.
Aug 29 22:41:36 localhost kernel: [27919.396981] <3>52 10 00 0a 20 20 20 20 20
20 00 00 00 fc 00 43  R...      .....C
Aug 29 22:41:36 localhost kernel: [27919.396983] <3>4d 43 20 32 32 20 57 0a 20
20 20 20 00 00 00 ff  MC 22 W.    ....
Aug 29 22:41:36 localhost kernel: [27919.396986] <3>00 30 0a 20 20 20 20 20 20
20 20 20 20 20 00 1e  .0.           ..
Aug 29 22:41:36 localhost kernel: [27919.396988]

Even if that's the case, though, my system boots fine with KMS disabled ("nomodeset" on the kernel command line), so this is still a regression - KMS should handle bad EDIDs at least as well as UMS does.
Comment 1 Ravi Pinjala 2010-08-30 19:47:33 UTC
Created attachment 28551 [details]
My .config (2.6.35.3)
Comment 2 Alex Deucher 2012-08-13 16:16:01 UTC
What hardware is this?  Is this still an issue with a newer kernel?