[PATCH v2 1/3] drm: Add helper to compare edids.
Ramalingam C
ramalingam.c at intel.com
Fri Jun 28 04:13:13 UTC 2019
On 2019-06-28 at 11:24:52 +0300, Stanislav Lisovskiy wrote:
> Many drivers would benefit from using
> drm helper to compare edid, rather
> than bothering with own implementation.
>
> v2: Added documentation for this function.
>
> Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy at intel.com>
> ---
> drivers/gpu/drm/drm_edid.c | 33 +++++++++++++++++++++++++++++++++
> include/drm/drm_edid.h | 9 +++++++++
> 2 files changed, 42 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 9d8f2b952004..eaad5155fbdd 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -1361,6 +1361,39 @@ static bool drm_edid_is_zero(const u8 *in_edid, int length)
> return true;
> }
>
> +/**
> + * drm_edid_are_equal - compare two edid blobs.
> + * @edid1: pointer to first blob
> + * @edid2: pointer to second blob
extra line here is preferred.
> + * This helper can be used during probing to determine if
> + * edid had changed.
bool is implicit. if you want you can explain the return value.
> + */
> +bool drm_edid_are_equal(struct edid *edid1, struct edid *edid2)
> +{
> + int edid1_len, edid2_len;
> + bool edid1_present = edid1 != NULL;
> + bool edid2_present = edid2 != NULL;
> +
> + if (edid1_present != edid2_present)
> + return false;
> +
> + if (edid1) {
> +
> + edid1_len = EDID_LENGTH * (1 + edid1->extensions);
> + edid2_len = EDID_LENGTH * (1 + edid2->extensions);
> +
> + if (edid1_len != edid2_len)
> + return false;
> +
> + if (memcmp(edid1, edid2, edid1_len))
> + return false;
> + }
> +
> + return true;
> +}
> +EXPORT_SYMBOL(drm_edid_are_equal);
> +
> +
> /**
> * drm_edid_block_valid - Sanity check the EDID block (base or extension)
> * @raw_edid: pointer to raw EDID block
> diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
> index b9719418c3d2..716964f63312 100644
> --- a/include/drm/drm_edid.h
> +++ b/include/drm/drm_edid.h
> @@ -354,6 +354,15 @@ drm_load_edid_firmware(struct drm_connector *connector)
> }
> #endif
>
> +/**
> + * drm_edid_are_equal - compare two edid blobs.
> + * @edid1: pointer to first blob
> + * @edid2: pointer to second blob
> + * This helper can be used during probing to determine if
> + * edid had changed.
> + */
Do we need kdoc for function declaration too!? Should be sufficient for
definition alone.
-Ram
> +bool drm_edid_are_equal(struct edid *edid1, struct edid *edid2);
> +
> int
> drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
> struct drm_connector *connector,
> --
> 2.17.1
>
More information about the dri-devel
mailing list