From 149228561318ce4b95f09329fca976856694b450 Mon Sep 17 00:00:00 2001 From: Dom Cobley Date: Fri, 16 Feb 2024 15:57:41 +0000 Subject: [PATCH 0902/1002] vc4/hvs: Fix lbm size calculation for yuv The code was reducing the number of components by one when we were not blending with alpha. But that only makes sense if the components include alpha. For YUV, we were reducing the number of components for Y from one to zero which resulted in no lbm space being allocated. Fixes: https://github.com/raspberrypi/linux/issues/5912 Signed-off-by: Dom Cobley --- drivers/gpu/drm/vc4/vc4_plane.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c index 70660f195e27..2d1039aa2dcf 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c @@ -733,7 +733,7 @@ static unsigned int vc4_lbm_channel_size(const struct drm_plane_state *state, if (!components) return 0; - if (state->alpha != DRM_BLEND_ALPHA_OPAQUE) + if (state->alpha != DRM_BLEND_ALPHA_OPAQUE && info->has_alpha) components -= 1; words = width * wpc * components; -- 2.44.0