Re: [PATCH v6 0/2] Add "link bpc" DRM property
From: Nicolas Frattaroli
Date: Wed Apr 01 2026 - 09:00:51 EST
On Monday, 30 March 2026 10:33:08 Central European Summer Time Nicolas Frattaroli wrote:
> This series adds a new "link bpc" DRM property. It reflects the display
> link's actual achieved output bits per component, considering any
> degradation of the bit depth done by drivers for bandwidth or other
> reasons. The property's value is updated during an atomic commit, which
> is also when it fires an uevent if it changed to let userspace know.
>
> There's a weston implementation at [1] which makes use of this new
> property. It is not representative of the entire use case of the
> property, but rather a proof-of-concept.
>
> [1]: https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1850
>
> ---
> Changes in v6:
> - Drop amdgpu patch to unblock series.
> - Reword property documentation to make it more explicit as to what bits
> this counts and why someone would want this.
> - Reword first patch message to do the same.
> - Link to v5: https://lore.kernel.org/r/20260319-link-bpc-v5-0-5306cd04a708@xxxxxxxxxxxxx
>
> Changes in v5:
> - Split "drm/connector: hdmi: Add a 'link bpc' property" into two
> patches; one adding the property, the other making use for it in the
> HDMI helpers (Maxime)
> - Apply Maxime's Ack to the two split patches as per the review
> - Link to v4: https://lore.kernel.org/r/20260311-link-bpc-v4-0-51775e964720@xxxxxxxxxxxxx
>
> Changes in v4:
> - Throw out the workqueue and delayed work item
> - Remove the drm_connector_update_link_bpc_state function
> - Reimplement it by updating the property and firing the uevent in
> commit_tail
> - Check that the provided max_bpc value in attach_link_bpc_property is
> within the expected range
> - Clamp the connector state's link_bpc value between 8 and max_bpc so
> that no value outside the declared range is ever written to the drm
> property
> - Update and reword doc strings
> - Add an amdgpu implementation
> - Link to v3: https://lore.kernel.org/r/20251022162843.1759-1-marius.vlad@xxxxxxxxxxxxx/T/
>
> Changes in v3:
> - remove VRR mention from commit description (Ville)
> - add DRM_MODE_PROP_IMMUTABLE to flags (Ville)
> - provide helpers functions for drivers to use (can be used by other
> types of connectors, not just HDMI)
> - send uevent informating userspace when 'link bpc' connector state
> changed (Daniel @ https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1850)
> - added missing doc entry
> - Link to v2: https://lore.kernel.org/r/20251006083043.3115-1-marius.vlad@xxxxxxxxxxxxx/T/
>
> Changes in v2:
> - replace return with EBUSY if connector already exists (Dmitry)
> - add i-g-t test and an implementation for Weston (Dmitry)
> - re-wording patch description (Jani)
> - Link to v1: https://lore.kernel.org/r/20250801101750.1726-1-marius.vlad@xxxxxxxxxxxxx/T/
>
> Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@xxxxxxxxxxxxx>
>
> ---
> Nicolas Frattaroli (2):
> drm/connector: Add a 'link bpc' property
> drm/connector: hdmi: Add support for 'link bpc' property
>
> drivers/gpu/drm/display/drm_hdmi_state_helper.c | 2 +
> drivers/gpu/drm/drm_atomic_helper.c | 9 +++
> drivers/gpu/drm/drm_atomic_uapi.c | 2 +
> drivers/gpu/drm/drm_connector.c | 88 +++++++++++++++++++++++++
> include/drm/drm_connector.h | 16 +++++
> 5 files changed, 117 insertions(+)
> ---
> base-commit: 3a48a999a2e3c3d1988d44370ed8f43ff54700b6
> change-id: 20260309-link-bpc-d0afc475ac49
>
> Best regards,
> --
> Nicolas Frattaroli <nicolas.frattaroli@xxxxxxxxxxxxx>
>
>
There's a lot of unresolved discussion on v5 of the series going on at
the moment, so please don't merge v6 despite the acks, there will likely
be a v7.
Kind regards,
Nicolas Frattaroli