Re: [PATCH v4 2/4] drm: Add CRTC background color property
From: Cristian Ciocaltea <hidden>
Date: 2026-01-27 09:01:08
Also in:
dri-devel, linux-rockchip, lkml
On 1/26/26 8:23 PM, Nícolas F. R. A. Prado wrote:
On Fri, 2025-12-19 at 23:46 +0200, Cristian Ciocaltea wrote:quoted
Some display controllers can be hardware programmed to show non-black colors for pixels that are either not covered by any plane or are exposed through transparent regions of higher planes. This feature can help reduce memory bandwidth usage, e.g. in compositors managing a UI with a solid background color while using smaller planes to render the remaining content. To support this capability, introduce the BACKGROUND_COLOR standard DRM mode property, which can be attached to a CRTC through the drm_crtc_attach_background_color_property() helper function. Additionally, define a 64-bit ARGB format value to be built with the help of a couple of dedicated DRM_ARGB64_PREP*() helpers. Individual color components can be extracted with desired precision using the corresponding DRM_ARGB64_GET*() macros. Co-developed-by: Matt Roper <redacted> Signed-off-by: Matt Roper <redacted> Signed-off-by: Cristian Ciocaltea <redacted> --- drivers/gpu/drm/drm_atomic_state_helper.c | 1 + drivers/gpu/drm/drm_atomic_uapi.c | 4 ++ drivers/gpu/drm/drm_blend.c | 39 ++++++++++++++++-- drivers/gpu/drm/drm_mode_config.c | 6 +++ include/drm/drm_blend.h | 4 +- include/drm/drm_crtc.h | 12 ++++++ include/drm/drm_mode_config.h | 5 +++ include/uapi/drm/drm_mode.h | 67 +++++++++++++++++++++++++++++++ 8 files changed, 133 insertions(+), 5 deletions(-)You should also add a dump for this property in drm_atomic_crtc_print_state().
This and all your other comments have been addressed in v5 [1]. $ grep background_color -B13 /sys/kernel/debug/dri/display-subsystem/state crtc[82]: video_port0 enable=1 active=1 self_refresh_active=0 planes_changed=1 mode_changed=0 active_changed=0 connectors_changed=0 color_mgmt_changed=0 plane_mask=1 connector_mask=1 encoder_mask=1 mode: "3840x2160": 60 594000 3840 4016 4104 4400 2160 2168 2178 2250 0x48 0x9 background_color=ffff000000000000 Thanks, Cristian [1] https://lore.kernel.org/all/20260127-rk3588-bgcolor-v5-0-b25aa8613211@collabora.com/ (local)