[PATCH] drm/edid: Dump the EDID when drm_edid_get_panel_id() has an error
Abhinav Kumar
quic_abhinavk at quicinc.com
Fri Oct 21 21:18:16 UTC 2022
Hi Doug
On 10/21/2022 1:07 PM, Douglas Anderson wrote:
> 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.
>
> Signed-off-by: Douglas Anderson <dianders at chromium.org>
Instead of checkinf for edid_block_status_valid() on the base_block, do
you want to use drm_edid_block_valid() instead?
That way you get the edid_block_dump() for free if it was invalid.
> ---
>
> drivers/gpu/drm/drm_edid.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 47465b9765f1..d63e26ec88b1 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -2721,6 +2721,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);
>
More information about the dri-devel
mailing list