Hi Todd On 10/04/15 16:12, Todd Previte wrote: > Displayport compliance test 4.2.2.6 requires that a source device be capable of > detecting a corrupt EDID. The test specification states that the sink device > sets up the EDID with an invalid checksum. To do this, the sink sets up an > invalid EDID header, expecting the source device to generate the checksum and > compare it to the value stored in the last byte of the block data. > > Unfortunately, the DRM EDID reading and parsing functions are actually too good > in this case; the header is fixed before the checksum is computed and thus the > code never sees the invalid checksum. This results in a failure to pass the > compliance test. > > To correct this issue, a checksum is generated when the EDID header is detected > as corrupted. If the checksum is invalid, it sets the header_corrupt flag and > logs the errors. In the case of a more seriously damaged header (fixup score > less than the threshold) the code does not generate the checksum but does set > the header_corrupt flag. > > V2: > - Removed the static bool global > - Added a bool to the drm_connector struct to reaplce the static one for > holding the status of raw edid header corruption detection > - Modified the function signature of the is_valid function to take an > additional parameter to store the corruption detected value > - Fixed the other callers of the above is_valid function > V3: > - Updated the commit message to be more clear about what and why this > patch does what it does. > - Added comment in code to clarify the operations there > - Removed compliance variable and check_link_status update; those > have been moved to a later patch > - Removed variable assignment from the bottom of the test handler > > Signed-off-by: Todd Previte <tprevite@xxxxxxxxx> > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > --- > drivers/gpu/drm/drm_edid.c | 31 ++++++++++++++++++++++++++----- > drivers/gpu/drm/drm_edid_load.c | 7 +++++-- > drivers/gpu/drm/i2c/tda998x_drv.c | 4 ++-- > include/drm/drm_crtc.h | 8 +++++++- > 4 files changed, 40 insertions(+), 10 deletions(-) > Neither this nor patch 09/11 seems to be i915 specific. If you're doing another revision you might want to use just "drm:". Cheers, Emil _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel