Re: [PATCH v4 0/4] Introduce BACKGROUND_COLOR DRM CRTC property
From: Diederik de Haas <hidden>
Date: 2026-01-07 19:42:48
Also in:
dri-devel, linux-rockchip, lkml
On Fri Dec 19, 2025 at 10:46 PM CET, Cristian Ciocaltea wrote:
Some display controllers can be hardware-configured to present non-black colors for pixels which are not covered by any plane (or are exposed through transparent regions of higher planes). ... The subsequent patches add background color support to VKMS and the VOP2 display controller used in the RK3568, RK3576, and RK3588 Rockchip SoC families.
As previously reported against the v3, while I actually tested v4 ... Cristian provided a helper script which would show a test pattern and then iterate through setting Red, Green, Blue background color and then set it back to the original value. I first tested this on a Rock 5B (RK3588). Without this patch set, the background color was Black with every iteration. But with this patch set, I did see a Red, Green and Blue background color, after which it was set back to Black. diederik@rock5b:~$ grep -E "^Changing prop|^Read BACKGROUND_COLOR" bgcol-test-bash-user.log Read BACKGROUND_COLOR prop (ARGB64): 0xffff000000000000 Changing prop value to: 0xffff00000000ffff Read BACKGROUND_COLOR prop (ARGB64): 0xffff00000000ffff Changing prop value to 0xffffffff00000000 Read BACKGROUND_COLOR prop (ARGB64): 0xffffffff00000000 Changing prop value to 0xffff0000ffff0000 Read BACKGROUND_COLOR prop (ARGB64): 0xffff0000ffff0000 Changing prop value to 0xffff00000000ffff Read BACKGROUND_COLOR prop (ARGB64): 0xffff00000000ffff Changing prop value to: 0xffff000000000000 Read BACKGROUND_COLOR prop (ARGB64): 0xffff000000000000 I then did the same test on a Quartz64-B (RK3566) and that too showed a Red, Green and Blue background color and then was set back to Black. diederik@quartz64b:~$ grep -E "^Changing prop|^Read BACKGROUND_COLOR" bgcol-test-bash-user-q64b.log Read BACKGROUND_COLOR prop (ARGB64): 0xffff000000000000 Changing prop value to: 0xffff00000000ffff Read BACKGROUND_COLOR prop (ARGB64): 0xffff00000000ffff Changing prop value to 0xffffffff00000000 Read BACKGROUND_COLOR prop (ARGB64): 0xffffffff00000000 Changing prop value to 0xffff0000ffff0000 Read BACKGROUND_COLOR prop (ARGB64): 0xffff0000ffff0000 Changing prop value to 0xffff00000000ffff Read BACKGROUND_COLOR prop (ARGB64): 0xffff00000000ffff Changing prop value to: 0xffff000000000000 Read BACKGROUND_COLOR prop (ARGB64): 0xffff000000000000 So this patch set does what it is supposed to do, so feel free to add: Tested-by: Diederik de Haas <redacted> Cheers, Diederik
Signed-off-by: Cristian Ciocaltea <redacted> --- Changes in v4: - Switched to simple bit-shifting approach when performing the bpc conversion in the vop2 driver, to avoid the expensive division since we shouldn't be concerned anymore about the precision (Chaoyi) - Rebased series onto latest drm-misc-next - Link to v3: https://lore.kernel.org/r/20251118-rk3588-bgcolor-v3-0-a2cc909428ea@collabora.com (local) Changes in v3: - Added new patches: * uapi: Provide DIV_ROUND_CLOSEST() * drm/vkms: Support setting custom background color - Improved DRM_ARGB64_{PREP|GET}*() helpers by using a conversion ratio for better color approximation when dealing with less than 16 bits of precision - Mentioned the IGT test in the cover letter while documenting the validation results; also dropped references to the now useless modetest wrapper script and its generated report - Rebased series onto latest drm-misc-next - Link to v2: https://lore.kernel.org/r/20251013-rk3588-bgcolor-v2-0-25cc3810ba8c@collabora.com (local) Changes in v2: - Improved uAPI consistency and readability by introducing DRM_ARGB64_PREP*() and DRM_ARGB64_GET*() helper macros - Updated several code comment sections - Referenced the counterpart Weston support in the cover letter - Rebased series onto v6.18-rc1 - Link to v1: https://lore.kernel.org/r/20250902-rk3588-bgcolor-v1-0-fd97df91d89f@collabora.com (local) --- Cristian Ciocaltea (4): uapi: Provide DIV_ROUND_CLOSEST() drm: Add CRTC background color property drm/vkms: Support setting custom background color drm/rockchip: vop2: Support setting custom background color 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 +++ drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 13 +++++- drivers/gpu/drm/rockchip/rockchip_drm_vop2.h | 4 ++ drivers/gpu/drm/vkms/vkms_composer.c | 10 ++++- drivers/gpu/drm/vkms/vkms_crtc.c | 3 ++ include/drm/drm_blend.h | 4 +- include/drm/drm_crtc.h | 12 +++++ include/drm/drm_mode_config.h | 5 +++ include/linux/math.h | 18 +------- include/uapi/drm/drm_mode.h | 67 ++++++++++++++++++++++++++++ include/uapi/linux/const.h | 17 +++++++ 14 files changed, 178 insertions(+), 25 deletions(-) --- base-commit: 8e7460eac786c72f48c4e04ce9be692b939428ce change-id: 20250829-rk3588-bgcolor-c1a7b9a507bc _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip