From: Kunal Joshi <kunal1.joshi@intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: [Intel-gfx] [PATCH v6 1/3] drm: Add helper to compare edids.
Date: Tue, 30 Jun 2020 05:56:58 +0530 [thread overview]
Message-ID: <20200630002700.5451-2-kunal1.joshi@intel.com> (raw)
In-Reply-To: <20200630002700.5451-1-kunal1.joshi@intel.com>
From: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
From: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
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@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 71ae0cd6d576..920ac9ef6018 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -1615,6 +1615,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
+ * This helper can be used during probing to determine if
+ * edid had changed.
+ */
+bool drm_edid_are_equal(const struct edid *edid1, const 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 43254319ab19..cfa4f5af49af 100644
--- a/include/drm/drm_edid.h
+++ b/include/drm/drm_edid.h
@@ -359,6 +359,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.
+ */
+bool drm_edid_are_equal(const struct edid *edid1, const struct edid *edid2);
+
int
drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
const struct drm_connector *connector,
--
2.25.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2020-06-30 7:23 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-30 0:26 [Intel-gfx] [PATCH v6 0/3] Send a hotplug when edid changes Kunal Joshi
2020-06-30 0:26 ` Kunal Joshi [this message]
2020-06-30 0:26 ` [Intel-gfx] [PATCH v6 2/3] drm: Introduce epoch counter to drm_connector Kunal Joshi
2020-06-30 0:27 ` [Intel-gfx] [PATCH v6 3/3] drm/i915: Send hotplug event if edid had changed Kunal Joshi
2020-06-30 14:37 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for Send a hotplug when edid changes (rev10) Patchwork
-- strict thread matches above, loose matches on Subject: below --
2020-06-26 9:13 [Intel-gfx] [PATCH v6 0/3] Send a hotplug when edid changes Kunal Joshi
2020-06-26 9:13 ` [Intel-gfx] [PATCH v6 1/3] drm: Add helper to compare edids Kunal Joshi
2020-06-23 18:57 [Intel-gfx] [PATCH v6 0/3] Send a hotplug when edid changes Kunal Joshi
2020-06-23 18:57 ` [Intel-gfx] [PATCH v6 1/3] drm: Add helper to compare edids Kunal Joshi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200630002700.5451-2-kunal1.joshi@intel.com \
--to=kunal1.joshi@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox