[PATCH 1/4] drm: add edid_overridden flag to drm_connector
From: Johannes Wüller
Date: Sun Mar 15 2026 - 18:35:06 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>
---
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 26bb7710a462..9b0f410ea2de 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -2373,6 +2373,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;
@@ -2380,6 +2381,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 c18be8c19de0..43d7ac31deba 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -2261,6 +2261,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.53.0