drm/edid: Dump the EDID when drm_edid_get_panel_id() has an error
authorDouglas Anderson <dianders@chromium.org>
Fri, 21 Oct 2022 20:07:07 +0000 (13:07 -0700)
committerDouglas Anderson <dianders@chromium.org>
Mon, 14 Nov 2022 22:03:06 +0000 (14:03 -0800)
If we fail to get a valid panel ID in drm_edid_get_panel_id() we'd
like to see the EDID that was read so we have a chance of
understanding what's wrong. There's already a function for that, so
let's call it in the error case.

NOTE: edid_block_read() has a retry loop in it, so actually we'll only
print the block read back from the final attempt. This still seems
better than nothing.

Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20221021130637.1.I8c2de0954a4e54e0c59a72938268e2ead91daa98@changeid
drivers/gpu/drm/drm_edid.c

index b2d61c0..1b0b0f8 100644 (file)
@@ -2799,6 +2799,8 @@ u32 drm_edid_get_panel_id(struct i2c_adapter *adapter)
 
        if (edid_block_status_valid(status, edid_block_tag(base_block)))
                panel_id = edid_extract_panel_id(base_block);
+       else
+               edid_block_dump(KERN_NOTICE, base_block, 0);
 
        kfree(base_block);