[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