]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/i915: Drop 64bpp YUV formats from ICL+ SDR planes
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 18 Dec 2024 17:36:47 +0000 (19:36 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Feb 2025 12:49:40 +0000 (13:49 +0100)
commit c7b49506b3ba7a62335e6f666a43f67d5cd9fd1e upstream.

I'm seeing underruns with these 64bpp YUV formats on TGL.

The weird details:
- only happens on pipe B/C/D SDR planes, pipe A SDR planes
  seem fine, as do all HDR planes
- somehow CDCLK related, higher CDCLK allows for bigger plane
  with these formats without underruns. With 300MHz CDCLK I
  can only go up to 1200 pixels wide or so, with 650MHz even
  a 3840 pixel wide plane was OK
- ICL and ADL so far appear unaffected

So not really sure what's the deal with this, but bspec does
state "64-bit formats supported only on the HDR planes" so
let's just drop these formats from the SDR planes. We already
disallow 64bpp RGB formats.

Cc: stable@vger.kernel.org
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241218173650.19782-2-ville.syrjala@linux.intel.com
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
(cherry picked from commit 35e1aacfe536d6e8d8d440cd7155366da2541ad4)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/i915/display/skl_universal_plane.c

index bc523a3d1d42f978ef66d95f77e30187ea69be44..00daeacc2f1315b537ad96557808bd6f74cf5979 100644 (file)
@@ -100,8 +100,6 @@ static const u32 icl_sdr_y_plane_formats[] = {
        DRM_FORMAT_Y216,
        DRM_FORMAT_XYUV8888,
        DRM_FORMAT_XVYU2101010,
-       DRM_FORMAT_XVYU12_16161616,
-       DRM_FORMAT_XVYU16161616,
 };
 
 static const u32 icl_sdr_uv_plane_formats[] = {
@@ -128,8 +126,6 @@ static const u32 icl_sdr_uv_plane_formats[] = {
        DRM_FORMAT_Y216,
        DRM_FORMAT_XYUV8888,
        DRM_FORMAT_XVYU2101010,
-       DRM_FORMAT_XVYU12_16161616,
-       DRM_FORMAT_XVYU16161616,
 };
 
 static const u32 icl_hdr_plane_formats[] = {