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.
https://bugs.freedesktop.org/show_bug.cgi?id=80683
Martin Peres martin.peres@free.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|NEW |RESOLVED
--- Comment #1 from Martin Peres martin.peres@free.fr --- Hi,
Freedesktop's Bugzilla instance is EOLed and open bugs are about to be migrated to http://gitlab.freedesktop.org.
To avoid migrating out of date bugs, I am now closing all the bugs that did not see any activity in the past year. If the issue is still happening, please create a new bug in the relevant project at https://gitlab.freedesktop.org/drm (use misc by default).
Sorry about the noise!
dri-devel@lists.freedesktop.org