From nobody Mon Feb 9 03:58:46 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F119317DFE7 for ; Wed, 4 Feb 2026 20:15:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770236137; cv=none; b=FNqQK5Z2xV7SGYmdHhii6O0ldwtLeCFMJnpcpsPSQv3k5ZLxpxgorihRwmN//hf5BiPg2jcv3Yvzbz33pEaLWDXw4U3iSclytWNqk3GFJn+JEqpV8mCX7eCws+V57KYJyMyYER10PR4yi2uT+5ie3NL2xSuKHFc759EdtGML848= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770236137; c=relaxed/simple; bh=/L0lTmhcZkxDMMrnCZSUmTG7CK9mTVDRkVjSQ2g9G1Q=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JTH5NrHdc1fBQFkUh/Yi0/akNBPWgezKXDJClivFh+Ww+vCzsI0ZnLsa9jQAvXxD5ePhuIKo3L0qcwJPgTJbaHpKaLdf+ZH1mDN3Bh9r8fFTzWY9iMnW3YgW3FyXMr8NG5oAcYey3FBXH/emmVx3WSkCruT4yMHS0XabAzUUMzk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=JtU1hes2; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="JtU1hes2" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1770235362; bh=/L0lTmhcZkxDMMrnCZSUmTG7CK9mTVDRkVjSQ2g9G1Q=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=JtU1hes2FpXEaCG7KUee9M5k2UnwWvCa5oUd07aUPvZY8KvFsktKSzJt1Qvu4GodK Kpfac9bLI1UX3uzei4drWyl/c0v4pS6QebKkt6KPvSjpZciZ5TaaNjnZrUalXFQ3x4 0ab88dKIpwRON7cd8W7Y9l1vCEtJ6bJSbe5qKdwp2YrbxOAWreRVAyryW5AsO+Wrcm SY6v3Vp4n556jG3PvTW8gNDnE8lkTlQncAzul5J0H0qKDub+yzE3nhWVHph5JgK0ox qwqcmk7/iL1k8/0/2KUMPKhdju5cpDpoIOopG94yjvJ/Fm4Bgn+CIouzzctfFTJUyr C8vsFKcnQMTcQ== Received: from localhost (unknown [82.79.138.145]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: cristicc) by bali.collaboradmins.com (Postfix) with ESMTPSA id 69DD617E1582; Wed, 4 Feb 2026 21:02:42 +0100 (CET) From: Cristian Ciocaltea Date: Wed, 04 Feb 2026 22:02:30 +0200 Subject: [PATCH v7 3/4] drm/vkms: Support setting custom background color Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260204-rk3588-bgcolor-v7-3-78d1d01c5ca1@collabora.com> References: <20260204-rk3588-bgcolor-v7-0-78d1d01c5ca1@collabora.com> In-Reply-To: <20260204-rk3588-bgcolor-v7-0-78d1d01c5ca1@collabora.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jani Nikula , Andy Shevchenko Cc: Robert Mader , kernel@collabora.com, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, =?utf-8?q?N=C3=ADcolas_F=2E_R=2E_A=2E_Prado?= , Diederik de Haas X-Mailer: b4 0.14.3 Make use of the BACKGROUND_COLOR CRTC property when filling the background during blending. It already defaults to solid black. Since the internal representation of the pixel color in VKMS relies on 16 bits of precision, use the newly introduced DRM_ARGB64_GET{R|G|B}() helpers to access the individual components of the background color property, which is compliant with DRM_FORMAT_ARGB16161616. It's worth noting the alpha component is ignored, hence non-opaque background colors are not supported. Reviewed-by: N=C3=ADcolas F. R. A. Prado Tested-by: Diederik de Haas Signed-off-by: Cristian Ciocaltea Reviewed-by: Louis Chauvet --- drivers/gpu/drm/vkms/vkms_composer.c | 10 ++++++++-- drivers/gpu/drm/vkms/vkms_crtc.c | 3 +++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/vkms/vkms_composer.c b/drivers/gpu/drm/vkms/vk= ms_composer.c index cd85de4ffd03..83d217085ad0 100644 --- a/drivers/gpu/drm/vkms/vkms_composer.c +++ b/drivers/gpu/drm/vkms/vkms_composer.c @@ -475,8 +475,14 @@ static void blend(struct vkms_writeback_job *wb, { struct vkms_plane_state **plane =3D crtc_state->active_planes; u32 n_active_planes =3D crtc_state->num_active_planes; - - const struct pixel_argb_u16 background_color =3D { .a =3D 0xffff }; + u64 bgcolor =3D crtc_state->base.background_color; + + const struct pixel_argb_u16 background_color =3D { + .a =3D 0xffff, + .r =3D DRM_ARGB64_GETR(bgcolor), + .g =3D DRM_ARGB64_GETG(bgcolor), + .b =3D DRM_ARGB64_GETB(bgcolor), + }; =20 int crtc_y_limit =3D crtc_state->base.mode.vdisplay; int crtc_x_limit =3D crtc_state->base.mode.hdisplay; diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_c= rtc.c index 9a7db1d51022..2514c367f710 100644 --- a/drivers/gpu/drm/vkms/vkms_crtc.c +++ b/drivers/gpu/drm/vkms/vkms_crtc.c @@ -4,6 +4,7 @@ =20 #include #include +#include #include #include #include @@ -228,6 +229,8 @@ struct vkms_output *vkms_crtc_init(struct drm_device *d= ev, struct drm_plane *pri =20 drm_crtc_enable_color_mgmt(crtc, 0, false, VKMS_LUT_SIZE); =20 + drm_crtc_attach_background_color_property(crtc); + spin_lock_init(&vkms_out->lock); spin_lock_init(&vkms_out->composer_lock); =20 --=20 2.52.0