drm/fourcc: Fix vsub/hsub for Q410 and Q401
authorBrian Starkey <brian.starkey@arm.com>
Tue, 13 Sep 2022 14:43:06 +0000 (15:43 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:14:10 +0000 (13:14 +0100)
[ Upstream commit b230555f3257f197dd98641ef6ebaf778b52dd51 ]

These formats are not subsampled, but that means hsub and vsub should be
1, not 0.

Fixes: 94b292b27734 ("drm: drm_fourcc: add NV15, Q410, Q401 YUV formats")
Reported-by: George Kennedy <george.kennedy@oracle.com>
Reported-by: butt3rflyh4ck <butterflyhuangxx@gmail.com>
Signed-off-by: Brian Starkey <brian.starkey@arm.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220913144306.17279-1-brian.starkey@arm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/drm_fourcc.c

index aa74711..32ee023 100644 (file)
@@ -260,12 +260,12 @@ const struct drm_format_info *__drm_format_info(u32 format)
                  .vsub = 2, .is_yuv = true },
                { .format = DRM_FORMAT_Q410,            .depth = 0,
                  .num_planes = 3, .char_per_block = { 2, 2, 2 },
-                 .block_w = { 1, 1, 1 }, .block_h = { 1, 1, 1 }, .hsub = 0,
-                 .vsub = 0, .is_yuv = true },
+                 .block_w = { 1, 1, 1 }, .block_h = { 1, 1, 1 }, .hsub = 1,
+                 .vsub = 1, .is_yuv = true },
                { .format = DRM_FORMAT_Q401,            .depth = 0,
                  .num_planes = 3, .char_per_block = { 2, 2, 2 },
-                 .block_w = { 1, 1, 1 }, .block_h = { 1, 1, 1 }, .hsub = 0,
-                 .vsub = 0, .is_yuv = true },
+                 .block_w = { 1, 1, 1 }, .block_h = { 1, 1, 1 }, .hsub = 1,
+                 .vsub = 1, .is_yuv = true },
                { .format = DRM_FORMAT_P030,            .depth = 0,  .num_planes = 2,
                  .char_per_block = { 4, 8, 0 }, .block_w = { 3, 3, 0 }, .block_h = { 1, 1, 0 },
                  .hsub = 2, .vsub = 2, .is_yuv = true},