[RESEND PATCH v2 1/2] drm: add edid_overridden flag to drm_connector
From: Johannes Wüller
Date: Sat Oct 03 2026 - 12:16:03 EST
When an EDID override is in effect, the physical connector may not
match reported capabilities. Adds a drm_connector flag that allows
drivers to detect such mismatches.
Signed-off-by: Johannes Wüller <johanneswueller@xxxxxxxxx>
---
v2: rebased, no functional change.
drivers/gpu/drm/drm_edid.c | 2 ++
include/drm/drm_connector.h | 8 ++++++++
2 files changed, 10 insertions(+)
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 42f4e41c459f..9ea6f5f19131 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -2424,6 +2424,7 @@ static struct edid *_drm_do_get_edid(struct drm_connector *connector,
struct edid *edid, *new;
size_t alloc_size = EDID_LENGTH;
+ connector->edid_overridden = false;
override = drm_edid_override_get(connector);
if (override) {
alloc_size = override->size;
@@ -2431,6 +2432,7 @@ static struct edid *_drm_do_get_edid(struct drm_connector *connector,
drm_edid_free(override);
if (!edid)
return NULL;
+ connector->edid_overridden = true;
goto ok;
}
diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
index 899643586bb3..d242fb922741 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -2394,6 +2394,14 @@ struct drm_connector {
/** @bad_edid_counter: track sinks that give us an EDID with invalid checksum */
unsigned bad_edid_counter;
+ /**
+ * @edid_overridden: Indicates whether the last read EDID was an
+ * override (e.g. via debugfs edid_override or drm.edid_firmware kernel
+ * parameter), which can cause the physical connector to differ from
+ * the advertised capabilities.
+ */
+ bool edid_overridden;
+
/**
* @edid_corrupt: Indicates whether the last read EDID was corrupt. Used
* in Displayport compliance testing - Displayport Link CTS Core 1.2
--
2.56.0