Bug 42112 - radeon driver (kms) fails to read EDID data from external LCD monitor with kernel 3.0.4 on a RV350 chip
Summary: radeon driver (kms) fails to read EDID data from external LCD monitor with ke...
Status: RESOLVED INVALID
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - non Intel) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_video-dri
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-30 19:09 UTC by mrsteven
Modified: 2011-08-30 20:29 UTC (History)
1 user (show)

See Also:
Kernel Version: 3.0.4
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
Output of lspci -vv (12.54 KB, text/plain)
2011-08-30 19:09 UTC, mrsteven
Details
Kernel log of me playing around with the external monitor (125.71 KB, text/plain)
2011-08-30 19:15 UTC, mrsteven
Details

Description mrsteven 2011-08-30 19:09:21 UTC
Created attachment 70922 [details]
Output of lspci -vv

Hello,

today I updated from kernel 3.0.3 to 3.0.4. Now when I plug an external LCD monitor into the VGA output of my notebook, the radeon driver fails to read the EDID data from the monitor, leading to a resolution of 1024x768 instead of 1280x1024 on it. With kernel 3.0.3 everything worked fine.

Now when I execute the following command in an X session
  xrandr --output VGA-0 --auto
my dmesg output shows these lines:

[drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 238
Raw EDID:
<3>00 ff ff ff ff ff ff 00 26 34 75 01 ec 37 00 00  ........&4u..7..
<3>12 0f 01 03 08 21 1b 78 e8 c5 c6 a3 57 4a 9c 23  .....!.x....WJ.#
<3>00 4f 54 a7 ef 80 81 80 01 01 01 01 01 01 01 01  .OT.............
<3>01 01 01 01 01 01 30 2a 00 98 51 00 2a 40 30 70  ......0*..Q.*@0p
<3>13 00 4a 0e 11 00 00 1e 10 0b d0 b4 20 90 31 10  ..J......... .1.
<3>12 6c d2 00 4a 0e 11 00 00 1c d5 09 80 a0 20 e0  .l..J......... .
<3>2d 10 10 60 a2 00 4a 0e 11 00 00 18 00 00 00 fc  -..`..J.........
<3>00 4c 31 37 54 0a 20 20 20 20 20 20 20 20 00 ba  .L17T.        ..

[drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 238
Raw EDID:
<3>00 ff ff ff ff ff ff 00 26 34 75 01 ec 37 00 00  ........&4u..7..
<3>12 0f 01 03 08 21 1b 78 e8 c5 c6 a3 57 4a 9c 23  .....!.x....WJ.#
<3>00 4f 54 a7 ef 80 81 80 01 01 01 01 01 01 01 01  .OT.............
<3>01 01 01 01 01 01 30 2a 00 98 51 00 2a 40 30 70  ......0*..Q.*@0p
<3>13 00 4a 0e 11 00 00 1e 10 0b d0 b4 20 90 31 10  ..J......... .1.
<3>12 6c d2 00 4a 0e 11 00 00 1c d5 09 80 a0 20 e0  .l..J......... .
<3>2d 10 10 60 a2 00 4a 0e 11 00 00 18 00 00 00 fc  -..`..J.........
<3>00 4c 31 37 54 0a 20 20 20 20 20 20 20 20 00 ba  .L17T.        ..

[drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 238
Raw EDID:
<3>00 ff ff ff ff ff ff 00 26 34 75 01 ec 37 00 00  ........&4u..7..
<3>12 0f 01 03 08 21 1b 78 e8 c5 c6 a3 57 4a 9c 23  .....!.x....WJ.#
<3>00 4f 54 a7 ef 80 81 80 01 01 01 01 01 01 01 01  .OT.............
<3>01 01 01 01 01 01 30 2a 00 98 51 00 2a 40 30 70  ......0*..Q.*@0p
<3>13 00 4a 0e 11 00 00 1e 10 0b d0 b4 20 90 31 10  ..J......... .1.
<3>12 6c d2 00 4a 0e 11 00 00 1c d5 09 80 a0 20 e0  .l..J......... .
<3>2d 10 10 60 a2 00 4a 0e 11 00 00 18 00 00 00 fc  -..`..J.........
<3>00 4c 31 37 54 0a 20 20 20 20 20 20 20 20 00 ba  .L17T.        ..

[drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 238
Raw EDID:
<3>00 ff ff ff ff ff ff 00 26 34 75 01 ec 37 00 00  ........&4u..7..
<3>12 0f 01 03 08 21 1b 78 e8 c5 c6 a3 57 4a 9c 23  .....!.x....WJ.#
<3>00 4f 54 a7 ef 80 81 80 01 01 01 01 01 01 01 01  .OT.............
<3>01 01 01 01 01 01 30 2a 00 98 51 00 2a 40 30 70  ......0*..Q.*@0p
<3>13 00 4a 0e 11 00 00 1e 10 0b d0 b4 20 90 31 10  ..J......... .1.
<3>12 6c d2 00 4a 0e 11 00 00 1c d5 09 80 a0 20 e0  .l..J......... .
<3>2d 10 10 60 a2 00 4a 0e 11 00 00 18 00 00 00 fc  -..`..J.........
<3>00 4c 31 37 54 0a 20 20 20 20 20 20 20 20 00 ba  .L17T.        ..

radeon 0000:01:00.0: VGA-1: EDID block 0 invalid.
[drm:radeon_vga_detect] *ERROR* VGA-1: probed a monitor but no|invalid EDID
[drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 238
Raw EDID:
<3>00 ff ff ff ff ff ff 00 26 34 75 01 ec 37 00 00  ........&4u..7..
<3>12 0f 01 03 08 21 1b 78 e8 c5 c6 a3 57 4a 9c 23  .....!.x....WJ.#
<3>00 4f 54 a7 ef 80 81 80 01 01 01 01 01 01 01 01  .OT.............
<3>01 01 01 01 01 01 30 2a 00 98 51 00 2a 40 30 70  ......0*..Q.*@0p
<3>13 00 4a 0e 11 00 00 1e 10 0b d0 b4 20 90 31 10  ..J......... .1.
<3>12 6c d2 00 4a 0e 11 00 00 1c d5 09 80 a0 20 e0  .l..J......... .
<3>2d 10 10 60 a2 00 4a 0e 11 00 00 18 00 00 00 fc  -..`..J.........
<3>00 4c 31 37 54 0a 20 20 20 20 20 20 20 20 00 ba  .L17T.        ..

[drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 238
Raw EDID:
<3>00 ff ff ff ff ff ff 00 26 34 75 01 ec 37 00 00  ........&4u..7..
<3>12 0f 01 03 08 21 1b 78 e8 c5 c6 a3 57 4a 9c 23  .....!.x....WJ.#
<3>00 4f 54 a7 ef 80 81 80 01 01 01 01 01 01 01 01  .OT.............
<3>01 01 01 01 01 01 30 2a 00 98 51 00 2a 40 30 70  ......0*..Q.*@0p
<3>13 00 4a 0e 11 00 00 1e 10 0b d0 b4 20 90 31 10  ..J......... .1.
<3>12 6c d2 00 4a 0e 11 00 00 1c d5 09 80 a0 20 e0  .l..J......... .
<3>2d 10 10 60 a2 00 4a 0e 11 00 00 18 00 00 00 fc  -..`..J.........
<3>00 4c 31 37 54 0a 20 20 20 20 20 20 20 20 00 ba  .L17T.        ..

[drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 238
Raw EDID:
<3>00 ff ff ff ff ff ff 00 26 34 75 01 ec 37 00 00  ........&4u..7..
<3>12 0f 01 03 08 21 1b 78 e8 c5 c6 a3 57 4a 9c 23  .....!.x....WJ.#
<3>00 4f 54 a7 ef 80 81 80 01 01 01 01 01 01 01 01  .OT.............
<3>01 01 01 01 01 01 30 2a 00 98 51 00 2a 40 30 70  ......0*..Q.*@0p
<3>13 00 4a 0e 11 00 00 1e 10 0b d0 b4 20 90 31 10  ..J......... .1.
<3>12 6c d2 00 4a 0e 11 00 00 1c d5 09 80 a0 20 e0  .l..J......... .
<3>2d 10 10 60 a2 00 4a 0e 11 00 00 18 00 00 00 fc  -..`..J.........
<3>00 4c 31 37 54 0a 20 20 20 20 20 20 20 20 00 ba  .L17T.        ..

[drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 238
Raw EDID:
<3>00 ff ff ff ff ff ff 00 26 34 75 01 ec 37 00 00  ........&4u..7..
<3>12 0f 01 03 08 21 1b 78 e8 c5 c6 a3 57 4a 9c 23  .....!.x....WJ.#
<3>00 4f 54 a7 ef 80 81 80 01 01 01 01 01 01 01 01  .OT.............
<3>01 01 01 01 01 01 30 2a 00 98 51 00 2a 40 30 70  ......0*..Q.*@0p
<3>13 00 4a 0e 11 00 00 1e 10 0b d0 b4 20 90 31 10  ..J......... .1.
<3>12 6c d2 00 4a 0e 11 00 00 1c d5 09 80 a0 20 e0  .l..J......... .
<3>2d 10 10 60 a2 00 4a 0e 11 00 00 18 00 00 00 fc  -..`..J.........
<3>00 4c 31 37 54 0a 20 20 20 20 20 20 20 20 00 ba  .L17T.        ..

radeon 0000:01:00.0: VGA-1: EDID block 0 invalid.


The monitor in question is a Hyundai ImageQuest L17T. Note that the internal LVDS still works fine.
Comment 1 mrsteven 2011-08-30 19:15:13 UTC
Created attachment 70932 [details]
Kernel log of me playing around with the external monitor

I was trying to set the external monitor to its native resolution and to add it as a second monitor right of the internal notebook display. The latter worked, but setting the native resolution failed without proper EDID information.
Comment 2 Alex Deucher 2011-08-30 19:42:14 UTC
Can you bisect?
Comment 3 mrsteven 2011-08-30 20:11:29 UTC
Hmm, my internet connection is quite slow, but I hope it will work if I clone the stable tree with a line like this:

git clone --depth=100 git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-3.0.y.git
Comment 4 mrsteven 2011-08-30 20:29:42 UTC
Oh, it seems I have to apologize for my noise, because the problem was the monitor itself: It somehow got confused and "forgot" its EDID data. The problem was fixed by pulling its power line and then plugging it in again, i.e. doing a hard reset of the monitor.

And yes, this makes perfect sense, because I see no commit relating to EDID reading, parsing, or the handling of the data in the radeon driver. The only one I see is a change for some HDMI connectors, which doesn't affect me.

Sorry for any inconvenience.

Note You need to log in before you can comment on or make changes to this bug.