[BISECTED] Nouveau sees invalid EDID for eDP-1 whenever that display is turned off
Submitted by gspr
Assigned to Nouveau Project
Description
With kernel 3.8.8 and 3.9.0, nouveau sees an EDID with incorrect checksum for the display on eDP-1 as soon as that connector is turned off. Repeatedly re-fetching that EDID causes so much stuttering that the system becomes unusuable. A kworker thread rises to near 100% CPU usage, so I suspect the EDID is being re-fetched repeatedly. Turning the connector back on restores normal behavior (the correct EDID, with correct checksum, is obtained, and there is no stuttering). Kernel 3.5.7.9 did not behave like this.
Extracting the correct EDID when the display is on and supplying it as a custom EDID does not seem to prevent re-fetching of the invalid one. Passing drm_kms_helper.poll=0 does not seem to prevent the re-fetching either.
I apologize in advance if it turns out that it is in fact my hardware that simply supplies the wrong EDID when the display is turned off. In that case, maybe one could add an option to stop re-fetching after N failed checksums? (I guess that's not in the domain of nouveau, though...)
Device: 01:00.0 VGA compatible controller: NVIDIA Corporation GT218M [NVS 3100M] (rev a2)
Example of kernel message:
[ 169.657456] [drm:drm_edid_block_valid] ERROR EDID checksum is invalid, remainder is 64
[ 169.657461] Raw EDID:
[ 169.657464] 00 ff ff ff ff ff ff 00 06 af 47 41 00 00 00 00
[ 169.657465] 22 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
[ 169.657466] 01 01 01 01 01 01 94 25 a0 3e 51 84 0c 30 40 20
[ 169.657468] 33 00 2f bd 10 00 00 1a 0d 19 a0 3e 51 84 0c 30
[ 169.657469] 40 20 33 00 2f bd 10 00 00 1a 00 00 00 fe 00 43
[ 169.657470] 43 58 4d 57 80 42 31 34 31 50 57 34 00 00 00 00
[ 169.657471] 00 00 41 21 1e 00 00 00 00 09 01 0a 20 20 00 9d
[ 169.657473] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 171.713571] nouveau E[ I2C][0000:01:00.0] AUXCH(1): tx req timeout 0x01114000
(The tx req timeout message is not always present. The EDID checksum failure is repeated for as long as eDP-1 is disabled. As soon as eDP-1 is turned on, the messages stop appearing and the stuttering described above stops.)