[PATCH v2 0/3] drm/dp: shared HDR metadata SDP helper, and max bpc for dw-dp
Igor Paunovic
royalnet026 at gmail.com
Wed Sep 9 09:31:58 PDT 2026
This is v2 of "drm/bridge: synopsys: dw-dp: Add HDR support" [1], resent
as three patches instead of five.
The two patches that actually enabled HDR output on dw-dp are not here.
They were written on top of Sebastian's "Synopsys DisplayPort Controller
improvements for RK3588" series, and that series has not landed. I
checked rather than assumed: against drm-misc-next they no longer apply,
and every failing hunk sits on context that only exists in that series -
vsc_sdp_nr, audio_sdp_nr, dw_dp_clear_sdp(), the runtime PM conversion
and dw_dp_rockchip_hpd_sw_cfg(). None of those symbols are in mainline.
Holding the rest hostage to that seemed wrong when the first three
patches stand on their own, so they go alone and I will resend the other
two once the dw-dp work is in.
What is left is useful without them:
1/3 moves i915's private HDR metadata SDP packing into a shared DP
helper and converts i915 to use it. No functional change; the
second user follows later. Jani's Ack from v1 is carried over.
2/3 fixes a real bug: the bridge connector loses its max bpc value on
connector reset, so a driver that attaches the property gets it
reset behind userspace's back.
3/3 attaches the "max bpc" property on dw-dp. To be precise about what
that does: the property is a limit, not an enabler.
drm_atomic_connector_check() derives max_bpc from the sink's EDID
and only clamps it against max_requested_bpc when the property
exists, so the min() can never raise it. dw-dp's format filter
therefore already lets its 10 bpc entries through on a sink that
reports 10 bpc, with no property attached. What the property adds
is userspace control - the ability to ask for less - and a defined
upper bound of 10, the deepest entry in dw_dp_output_formats[]. It
is also the case that motivated 2/3, and a prerequisite for the
HDR patches that follow later.
Changes in v2:
- Dropped 4/5 and 5/5; they depend on the dw-dp improvements series
and no longer apply to drm-misc-next.
- Retitled the series, since it no longer adds HDR support by itself.
- Rebased onto drm-misc-next bf63a72ea005. No changes to the code.
One thing worth flagging for 2/3 and 3/3: Cristian's HDMI 2.0 series
removes connector->max_bpc in its patch 71. That series is not in
drm-misc-next either, so these two are correct as they stand today, but
if it lands first I will respin them against whatever replaces that
field. Say the word if you would rather I wait for it.
A note on how this was made, since the patches carry Assisted-by tags.
I work in a pair: I run the board, take the measurements and decide what
goes in; an LLM assistant (Claude, by Anthropic) helps me read the
source, draft the changelogs and re-check my claims against the tree
before I send anything.
What I have not done here is boot-test this exact three-patch series on
hardware. The code is unchanged from v1, whose runtime testing was done
on an Orange Pi 5 Plus running a rockchip-devel kernel that carried the
v9 generation of the dw-dp series, with the patches on top; those runtime
tests were never repeated on plain drm-misc-next. That caveat bites
hardest on 3/3: mainline's dw_dp-rockchip.c is not the file I tested
against. For v2 I have only checked that the patches apply and build-
tested nothing. Say so and I will do a full build and boot test before
you take it.
[1] https://lore.kernel.org/all/20260808095749.9428-1-royalnet026@gmail.com/
Igor Paunovic (3):
drm/dp: Add drm_dp_hdr_metadata_infoframe_sdp_pack()
drm/display: bridge-connector: Preserve max bpc across connector reset
drm/rockchip: dw_dp: Attach "max bpc" connector property
drivers/gpu/drm/display/drm_bridge_connector.c | 6 +-
drivers/gpu/drm/display/drm_dp_helper.c | 88 ++++++++++++++++++++++++++
drivers/gpu/drm/drm_connector.c | 5 ++
drivers/gpu/drm/i915/display/intel_dp.c | 84 +-----------------------
drivers/gpu/drm/rockchip/dw_dp-rockchip.c | 26 ++++++++
include/drm/display/drm_dp_helper.h | 4 ++
6 files changed, 131 insertions(+), 82 deletions(-)
base-commit: bf63a72ea005d5e1cc12a9ad5e228c4b44246b0f
More information about the Linux-rockchip
mailing list