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)
committerLiviu Dudau <liviu.dudau@arm.com>
Wed, 16 Nov 2022 11:29:09 +0000 (11:29 +0000)
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
drivers/gpu/drm/drm_fourcc.c

index e09331b..6242dfb 100644 (file)
@@ -297,12 +297,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},