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 78745fa77c07a05180b9557e47be4c492534d015..cc673bb63941baa3d6c38b9451678c2755e9f156 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 },