From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 80683] New: EDID valid check ignores errors in CEA blocks Date: Sun, 29 Jun 2014 17:41:39 +0000 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1624053090==" Return-path: Received: from culpepper.freedesktop.org (unknown [131.252.210.165]) by gabe.freedesktop.org (Postfix) with ESMTP id 7FC076E169 for ; Sun, 29 Jun 2014 10:41:39 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============1624053090== Content-Type: multipart/alternative; boundary="1404063699.51F1fE740.7691"; charset="us-ascii" --1404063699.51F1fE740.7691 Date: Sun, 29 Jun 2014 17:41:39 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" https://bugs.freedesktop.org/show_bug.cgi?id=80683 Priority: medium Bug ID: 80683 Assignee: dri-devel@lists.freedesktop.org Summary: EDID valid check ignores errors in CEA blocks Severity: normal Classification: Unclassified OS: All Reporter: stefan.bruens@rwth-aachen.de Hardware: Other Status: NEW Version: DRI CVS Component: DRM/other Product: DRI in linux/drivers/gpu/drm/drm_edid.c: bool drm_edid_block_valid(u8 *raw_edid, int block, bool print_bad_edid) { ... if (csum) { if (print_bad_edid) { DRM_ERROR("EDID checksum is invalid, remainder is %d\n", csum); } /* allow CEA to slide through, switches mangle this */ if (raw_edid[0] != 0x02) goto bad; } ... return true; --- i.e. CEA blocks are always reported as valid. This occurs frequently for me with a Radeon 7750 and a Dell U2713HM connected via DisplayPort, the I2C-over-AUX seems to be buggy and swallows single bytes. If I change the "return true;" to "return !csum;" bad transfers are retried. -- You are receiving this mail because: You are the assignee for the bug. --1404063699.51F1fE740.7691 Date: Sun, 29 Jun 2014 17:41:39 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8"
Priority medium
Bug ID 80683
Assignee dri-devel@lists.freedesktop.org
Summary EDID valid check ignores errors in CEA blocks
Severity normal
Classification Unclassified
OS All
Reporter stefan.bruens@rwth-aachen.de
Hardware Other
Status NEW
Version DRI CVS
Component DRM/other
Product DRI

in linux/drivers/gpu/drm/drm_edid.c:

bool drm_edid_block_valid(u8 *raw_edid, int block, bool print_bad_edid)
{
...
        if (csum) {
                if (print_bad_edid) {
                        DRM_ERROR("EDID checksum is invalid, remainder is
%d\n", csum);
                }

                /* allow CEA to slide through, switches mangle this */
                if (raw_edid[0] != 0x02)
                        goto bad;
        }
...
        return true;
---

i.e. CEA blocks are always reported as valid.

This occurs frequently for me with a Radeon 7750 and a Dell U2713HM connected
via DisplayPort, the I2C-over-AUX seems to be buggy and swallows single bytes.

If I change the "return true;" to "return !csum;" bad transfers are retried.


You are receiving this mail because:
  • You are the assignee for the bug.
--1404063699.51F1fE740.7691-- --===============1624053090== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel --===============1624053090==--