summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorChenyu Chen <chen-yu.chen@amd.com>2026-03-31 06:14:26 +0300
committerAlex Deucher <alexander.deucher@amd.com>2026-04-03 20:45:49 +0300
commit118362a96286367b04b31cebb25c6ca3601644a4 (patch)
tree68ec14d053ee07bda079b8bef0c1412a6b37c868 /include
parent57ce498faa1e4d358bf44b5df575874c22922786 (diff)
downloadlinux-118362a96286367b04b31cebb25c6ca3601644a4.tar.xz
drm/edid: Parse AMD Vendor-Specific Data Block
Parse the AMD VSDB v3 from CTA extension blocks and store the result in struct drm_amd_vsdb_info, a new field of drm_display_info. This includes replay mode, panel type, and luminance ranges. 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.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
index af8b92d2d5b7..f83f28cae207 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -694,6 +694,39 @@ enum drm_bus_flags {
};
/**
+ * struct drm_amd_vsdb_info - AMD-specific VSDB information
+ *
+ * This structure holds information parsed from the AMD Vendor-Specific Data
+ * Block (VSDB) version 3.
+ */
+struct drm_amd_vsdb_info {
+ /**
+ * @version: Version of the Vendor-Specific Data Block (VSDB)
+ */
+ u8 version;
+
+ /**
+ * @replay_mode: Panel Replay supported
+ */
+ bool replay_mode;
+
+ /**
+ * @panel_type: Panel technology type
+ */
+ u8 panel_type;
+
+ /**
+ * @luminance_range1: Luminance for max back light
+ */
+ struct drm_luminance_range_info luminance_range1;
+
+ /**
+ * @luminance_range2: Luminance for min back light
+ */
+ struct drm_luminance_range_info luminance_range2;
+};
+
+/**
* struct drm_display_info - runtime data about the connected sink
*
* Describes a given display (e.g. CRT or flat panel) and its limitations. For
@@ -883,6 +916,11 @@ struct drm_display_info {
* Defaults to CEC_PHYS_ADDR_INVALID (0xffff).
*/
u16 source_physical_address;
+
+ /**
+ * @amd_vsdb: AMD-specific VSDB information.
+ */
+ struct drm_amd_vsdb_info amd_vsdb;
};
int drm_display_info_set_bus_formats(struct drm_display_info *info,