<!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>