https://bugs.freedesktop.org/show_bug.cgi?id=80684

          Priority: medium
            Bug ID: 80684
          Assignee: dri-devel at lists.freedesktop.org
           Summary: I2C-over-AUX drops single bytes
          Severity: normal
    Classification: Unclassified
                OS: All
          Reporter: stefan.bruens at rwth-aachen.de
          Hardware: Other
            Status: NEW
           Version: DRI CVS
         Component: DRM/Radeon
           Product: DRI

I get frequent errors for the EDID checksum, obviously single bytes are dropped
from the EDID.

Good EDID:
Raw EDID:
      02 03 1d f1 50 90 05 04 03 02 07 16 01 06 11 12
      15 13 14 1f 20 23 09 7f 07 83 01 00 00 02 3a 80
      18 71 38 2d 40 58 2c 25 00 55 50 21 00 00 1e 01
      1d 80 18 71 1c 16 20 58 2c 25 00 55 50 21 00 00 <-- 
      9e 01 1d 00 72 51 d0 1e 20 6e 28 55 00 55 50 21
      00 00 1e 8c 0a d0 8a 20 e0 2d 10 10 3e 96 00 55
      50 21 00 00 18 00 00 00 00 00 00 00 00 00 00 00
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5d

Bad EDID example:
Raw EDID:
      02 03 1d f1 50 90 05 04 03 02 07 16 01 06 11 12
      15 13 14 1f 20 23 09 7f 07 83 01 00 00 02 3a 80
      18 71 38 2d 40 58 2c 25 00 55 50 21 00 00 1e 01
      1d 80 18 1c 16 20 58 2c 25 00 55 50 21 00 00 9e <-- 0x71 is missing
      01 1d 00 72 51 d0 1e 20 6e 28 55 00 55 50 21 00
      00 1e 8c 0a d0 8a 20 e0 2d 10 10 3e 96 00 55 50
      21 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 5d 00

The position of the dropped byte changes, sometimes the EDID is complete,
sometimes several bytes are dropped.

The bad EDIDs are *often* accompanied with [drm:radeon_process_aux_ch]
dp_aux_ch flags not zero messages.

Most probably the common i2c-over-aux code drops the byte, as it starts the
transfer again in case of -EBUSY. If I change radeon_process_aux_ch to return
-EIO in case of (ReplyStatus == 2), I no longer have any bad checksums.

Hardware is Radeon 7750 + Dell U2713HM, connected via DP.

Same monitor with Intel Haswell and different cable works without any errors.

Kernel is 3.15.1, i.e. without the i2c bus mutex, dont know if this fixes the
problems as well.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20140629/0beec6d3/attachment.html>

Reply via email to