<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 12/18/2024 11:06 PM, Ville Syrjala
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:20241218173650.19782-2-ville.syrjala@linux.intel.com">
      <pre wrap="" class="moz-quote-pre">From: Ville Syrjälä <a class="moz-txt-link-rfc2396E" href="mailto:ville.syrjala@linux.intel.com"><ville.syrjala@linux.intel.com></a>

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: <a class="moz-txt-link-abbreviated" href="mailto:stable@vger.kernel.org">stable@vger.kernel.org</a>
Signed-off-by: Ville Syrjälä <a class="moz-txt-link-rfc2396E" href="mailto:ville.syrjala@linux.intel.com"><ville.syrjala@linux.intel.com></a>
---
 drivers/gpu/drm/i915/display/skl_universal_plane.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index ff9764cac1e7..80e558042d97 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -106,8 +106,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,
 };</pre>
    </blockquote>
    <br>
    If we are seeing underrun on TGL platform only then better would be
    if we define separate variable similar to <br>
    <span style="white-space: pre-wrap">icl_sdr_y_plane_formats</span>
    since this variable is used for other platforms >= 11<br>
    <br>
    <blockquote type="cite" cite="mid:20241218173650.19782-2-ville.syrjala@linux.intel.com">
      <pre wrap="" class="moz-quote-pre">
 
 static const u32 icl_sdr_uv_plane_formats[] = {
@@ -134,8 +132,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,
 };
</pre>
    </blockquote>
    <br>
    same as above define separate variable<br>
    <br>
    Regards<br>
    Ravi Kumar V<br>
    <br>
    <blockquote type="cite" cite="mid:20241218173650.19782-2-ville.syrjala@linux.intel.com">
      <pre wrap="" class="moz-quote-pre"> 
 static const u32 icl_hdr_plane_formats[] = {
</pre>
    </blockquote>
    <br>
  </body>
</html>