On Wed, Feb 08, 2017 at 01:19:23PM +0000, Tahvanainen, Jari wrote:
> I applied this change on the couple-days old drm-tip, and was not able to get 
> any "EDID checksum is invalid" messages with it on my SKL. Without this patch 
> I could generate the ERROR quite easily by switching the outputs and displays 
> manually.
> I don't know if this hides something that it should not but it seem to work 
> for the problem related the noise on Patchwork CI execution caused by these 
> EDID checksum is invalid messages.
> 
> Tested-by: Jari Tahvanainen <jari.tahvanai...@intel.com>
> 
> -----Original Message-----
> From: Tomeu Vizoso [mailto:tomeu.viz...@collabora.com] 
> Sent: Thursday, December 8, 2016 3:12 PM
> To: linux-ker...@vger.kernel.org
> Cc: Tomeu Vizoso <tomeu.viz...@collabora.com>; Tomi Sarvela 
> <tomi.p.sarv...@intel.com>; intel-...@lists.freedesktop.org; David Airlie 
> <airl...@linux.ie>; dri-devel@lists.freedesktop.org; Daniel Vetter 
> <daniel.vet...@intel.com>
> Subject: drm/edid: Don't print an error if the checksum of a CEA block is 
> wrong
> 
> It's common to share screens within CI labs, and it's also common for KVM 
> switches to alter the contents of the CEA block but leave the checksum 
> outdated.
> 
> So in this case, print a debug message instead of an error.
> 
> References: https://bugs.freedesktop.org/show_bug.cgi?id=98228
> Cc: Chris Wilson <ch...@chris-wilson.co.uk>
> Cc: Tomi Sarvela <tomi.p.sarv...@intel.com>
> Cc: intel-...@lists.freedesktop.org
> Signed-off-by: Tomeu Vizoso <tomeu.viz...@collabora.com>

Applied to drm-misc, thanks.
-Daniel

> ---
>  drivers/gpu/drm/drm_edid.c | 13 ++++++++-----
>  1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 
> 6798c3ad9d53..db79bc949216 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -1128,16 +1128,19 @@ bool drm_edid_block_valid(u8 *raw_edid, int block, 
> bool print_bad_edid,
>  
>       csum = drm_edid_block_checksum(raw_edid);
>       if (csum) {
> -             if (print_bad_edid) {
> -                     DRM_ERROR("EDID checksum is invalid, remainder is 
> %d\n", csum);
> -             }
> -
>               if (edid_corrupt)
>                       *edid_corrupt = true;
>  
>               /* allow CEA to slide through, switches mangle this */
> -             if (raw_edid[0] != 0x02)
> +             if (raw_edid[0] == CEA_EXT) {
> +                     DRM_DEBUG("EDID checksum is invalid, remainder is 
> %d\n", csum);
> +                     DRM_DEBUG("Assuming a KVM switch modified the CEA block 
> but left the original checksum\n");
> +             } else {
> +                     if (print_bad_edid)
> +                             DRM_ERROR("EDID checksum is invalid, remainder 
> is %d\n", csum);
> +
>                       goto bad;
> +             }
>       }
>  
>       /* per-block-type checks */
> _______________________________________________
> Intel-gfx mailing list
> intel-...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to