drm/i915/tgl+: Add the missing MC CCS/XYUV8888 format support
authorImre Deak <imre.deak@intel.com>
Sat, 1 May 2021 00:28:52 +0000 (03:28 +0300)
committerImre Deak <imre.deak@intel.com>
Wed, 5 May 2021 13:52:24 +0000 (16:52 +0300)
Make sure that the XYUV8888 format is handled correctly when it's used
with a MC_CCS modifier framebuffer. Besides this format not working, the
driver will also return an incorrect error value when trying to use it,
indicating that the second color plane in the framebuffer is set
unexpectedly.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210501002853.4132009-1-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_display.c

index 78745fa..cc673bb 100644 (file)
@@ -1262,6 +1262,9 @@ static const struct drm_format_info gen12_ccs_formats[] = {
        { .format = DRM_FORMAT_VYUY, .num_planes = 2,
          .char_per_block = { 2, 1 }, .block_w = { 1, 2 }, .block_h = { 1, 1 },
          .hsub = 2, .vsub = 1, .is_yuv = true },
+       { .format = DRM_FORMAT_XYUV8888, .num_planes = 2,
+         .char_per_block = { 4, 1 }, .block_w = { 1, 2 }, .block_h = { 1, 1 },
+         .hsub = 1, .vsub = 1, .is_yuv = true },
        { .format = DRM_FORMAT_NV12, .num_planes = 4,
          .char_per_block = { 1, 2, 1, 1 }, .block_w = { 1, 1, 4, 4 }, .block_h = { 1, 1, 1, 1 },
          .hsub = 2, .vsub = 2, .is_yuv = true },