summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorChenyu Chen <chen-yu.chen@amd.com>2026-05-26 09:52:28 +0800
committerAlex Deucher <alexander.deucher@amd.com>2026-06-17 16:22:17 -0400
commite239d3e3cbb7b27522727371fa66523fc769f454 (patch)
tree1ee4381aaccfdfce60ed76ba583ff3ab10c9e9da /include
parent5c372a64b174bd144acb68177cf1f9a03402b5d2 (diff)
downloadlinux-e239d3e3cbb7b27522727371fa66523fc769f454.tar.gz
linux-e239d3e3cbb7b27522727371fa66523fc769f454.zip
drm/edid: parse panel type from DisplayID 2.x Display Parameters
Parse the Display Parameters Data Block (tag 0x21) defined in DisplayID v2.1a Section 4.2.6. Extract the Display Device Technology field from the color depth and device technology byte, which indicates whether the panel uses LCD or OLED technology. Add a panel_type field to struct drm_display_info and populate it during DisplayID iteration so downstream drivers can use it for panel-type-dependent behavior. Add DRM_MODE_PANEL_TYPE_LCD to the UAPI panel type property alongside the existing OLED value. Assisted-by: Copilot:Claude-Opus-4.6 Signed-off-by: Chenyu Chen <chen-yu.chen@amd.com> Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'include')
-rw-r--r--include/drm/drm_connector.h6
-rw-r--r--include/uapi/drm/drm_mode.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
index 5ad62c207d00..cd06a3b914a0 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -921,6 +921,12 @@ struct drm_display_info {
* @amd_vsdb: AMD-specific VSDB information.
*/
struct drm_amd_vsdb_info amd_vsdb;
+
+ /**
+ * @panel_type: Panel type from DisplayID Display Parameters
+ * Data Block (tag 0x21). Uses DRM_MODE_PANEL_TYPE_* constants.
+ */
+ u8 panel_type;
};
int drm_display_info_set_bus_formats(struct drm_display_info *info,
diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
index 381a3e857d4e..bd435effdcee 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
@@ -155,6 +155,7 @@ extern "C" {
/* Panel type property */
#define DRM_MODE_PANEL_TYPE_UNKNOWN 0
#define DRM_MODE_PANEL_TYPE_OLED 1
+#define DRM_MODE_PANEL_TYPE_LCD 2
/*
* DRM_MODE_ROTATE_<degrees>