[Nouveau] nouveau Ignoring invalid EDID block 1
zaverel
zaverel at free.fr
Wed Jun 15 08:32:44 PDT 2011
Hello
For error like :
nouveau 0000:02:00.0: DVI-I-2: Ignoring invalid EDID block 1.
[drm:drm_edid_block_valid] *ERROR* Raw EDID:
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
If i do
parse-edid
/sys/devices/pci0000\:00/0000:00:03.0/0000:02:00.0/drm/card0/card0-DVI-I-2/edid
the result is :
parse-edid: parse-edid version 2.0.0
parse-edid: EDID checksum passed.
# EDID version 1 revision 3
Section "Monitor"
# Block type: 2:0 3:fd
# Block type: 2:0 3:ff
# Block type: 2:0 3:fc
Identifier "BEKO-VJAZ1"
VendorName "BEK"
ModelName "BEKO-VJAZ1"
# Block type: 2:0 3:fd
HorizSync 31-61
VertRefresh 56-76
# Max dot clock (video bandwidth) 80 MHz
# Block type: 2:0 3:ff
# Block type: 2:0 3:fc
# DPMS capabilities: Active off:yes Suspend:no Standby:no
Mode "1280x720" # vfreq 50.000Hz, hfreq 37.500kHz
DotClock 74.250000
HTimings 1280 1464 1504 1980
VTimings 720 725 730 750
Flags "+HSync" "+VSync"
EndMode
# Block type: 2:0 3:fd
# Block type: 2:0 3:ff
# Block type: 2:0 3:fc
EndSection
So i think edid is good but block 1 do not and the entire edid is
considere invalid
Now, i tweak drm_edid.c from kernel-2.6.39-gentoo-r1 like this:
--- drm_edid.c 2011-06-10 22:37:36.605848000 +0200
+++ linux/drivers/gpu/drm/drm_edid.c 2011-06-13 13:04:43.136786102 +0200
@@ -292,7 +292,7 @@
block + (valid_extensions + 1) * EDID_LENGTH,
j, EDID_LENGTH))
goto out;
- if (drm_edid_block_valid(block + (valid_extensions + 1) *
EDID_LENGTH)) {
+ if (drm_edid_block_valid(block + (valid_extensions + 0) *
EDID_LENGTH)) {
valid_extensions++;
break;
}
and that work good like before but i'm not sure that is safe.
see you
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dmesg_log
URL: <http://lists.freedesktop.org/archives/nouveau/attachments/20110615/c7af505e/attachment-0001.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: drm_edid.c.diff
URL: <http://lists.freedesktop.org/archives/nouveau/attachments/20110615/c7af505e/attachment-0001.asc>
More information about the Nouveau
mailing list