From: Chenyu Chen <chen-yu.chen@amd.com>
To: <amd-gfx@lists.freedesktop.org>, <dri-devel@lists.freedesktop.org>
Cc: Harry Wentland <harry.wentland@amd.com>,
Leo Li <sunpeng.li@amd.com>, "Ray Wu" <Ray.Wu@amd.com>,
Limonciello Mario <Mario.Limonciello@amd.com>,
"Jani Nikula" <jani.nikula@intel.com>,
Chenyu Chen <chen-yu.chen@amd.com>
Subject: [PATCH v3 0/3] drm: detect panel type from DisplayID 2.x
Date: Tue, 26 May 2026 10:59:48 +0800 [thread overview]
Message-ID: <20260526030254.1460480-1-chen-yu.chen@amd.com> (raw)
This series adds parsing of the Display Device Technology field from
the DisplayID v2.x Display Parameters Data Block (tag 0x21), enabling
panel type detection (LCD/OLED) through a standards-based source.
Previously, amdgpu_dm determined panel type only from AMD VSDB, DPCD
sink extended caps, and a Samsung luminance heuristic. A TODO comment
in dm_set_panel_type() acknowledged the need to also use DisplayID as
a source. This series resolves that by parsing the Display Parameters
block in DRM core and wiring it into amdgpu_dm's detection priority
chain as: VSDB > DPCD > DisplayID > Samsung heuristic.
Patch 1 extracts the base section header processing into a helper and
removes the break so the iterator can walk through all data blocks.
The helper is invoked only once via a base_section_header_processed
flag because displayid_version() and displayid_primary_use() always
return values captured from the base section — they are fixed
regardless of which extension section the iterator is currently in,
so processing the header more than once would be redundant.
Changes in v3:
- Renamed helper to drm_displayid_process_base_section_header() to
reflect it handles the base section (Jani)
- Fixed argument alignment to match opening parenthesis (Jani)
- Renamed header_processed to base_section_header_processed (Jani)
- Fully expanded displayid_display_params_block struct with all named
fields per spec Table 4-7, replacing u8 payload[27] (Jani)
- Added DISPLAYID_DEVICE_TECH_{UNSPECIFIED,LCD,OLED} named defines (Jani)
- Removed DISPLAYID_DISPLAY_PARAMS_MIN_LEN macro, use inline sizeof (Jani)
- Removed superfluous blank line and useless inline comments (Jani)
- Debug print now shows "LCD"/"OLED" string instead of number (Jani)
- Renamed did_panel_type to panel_type (Jani)
- Added LCD to drm_panel_type_enum_list[] and property documentation (Jani)
- Added PANEL_TYPE_LCD branch in dm_set_panel_type() property setting
Chenyu Chen (3):
drm/edid: extract base section header processing into helper
drm/edid: parse panel type from DisplayID 2.x Display Parameters
drm/amd/display: use DisplayID panel type in dm_set_panel_type
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 16 ++--
drivers/gpu/drm/drm_connector.c | 3 +-
drivers/gpu/drm/drm_displayid_internal.h | 24 ++++++
drivers/gpu/drm/drm_edid.c | 80 +++++++++++++++----
include/drm/drm_connector.h | 6 ++
include/uapi/drm/drm_mode.h | 1 +
6 files changed, 109 insertions(+), 21 deletions(-)
--
2.43.0
next reply other threads:[~2026-05-26 3:03 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-26 2:59 Chenyu Chen [this message]
2026-05-26 2:59 ` [PATCH v3 1/3] drm/edid: extract base section header processing into helper Chenyu Chen
2026-05-26 3:09 ` Chen, Chen-Yu
2026-05-28 8:51 ` Chen, Chen-Yu
2026-06-26 15:44 ` Jani Nikula
2026-05-26 2:59 ` [PATCH v3 2/3] drm/edid: parse panel type from DisplayID 2.x Display Parameters Chenyu Chen
2026-05-26 3:09 ` Chen, Chen-Yu
2026-06-26 15:55 ` Jani Nikula
2026-05-26 2:59 ` [PATCH v3 3/3] drm/amd/display: use DisplayID panel type in dm_set_panel_type Chenyu Chen
2026-05-26 3:09 ` Chen, Chen-Yu
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=20260526030254.1460480-1-chen-yu.chen@amd.com \
--to=chen-yu.chen@amd.com \
--cc=Mario.Limonciello@amd.com \
--cc=Ray.Wu@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=harry.wentland@amd.com \
--cc=jani.nikula@intel.com \
--cc=sunpeng.li@amd.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.