<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [KBL] Black screen with I915_FORMAT_MOD_Y_TILED_CCS (Requested display configuration exceeds system DDB limitations)"
href="https://bugs.freedesktop.org/show_bug.cgi?id=111995#c1">Comment # 1</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [KBL] Black screen with I915_FORMAT_MOD_Y_TILED_CCS (Requested display configuration exceeds system DDB limitations)"
href="https://bugs.freedesktop.org/show_bug.cgi?id=111995">bug 111995</a>
from <span class="vcard"><a class="email" href="mailto:ville.syrjala@linux.intel.com" title="Ville Syrjala <ville.syrjala@linux.intel.com>"> <span class="fn">Ville Syrjala</span></a>
</span></b>
<pre>The DDB stuff depends on dotclock, number of pipes/planes, plane size,
plane/pipe scaling, etc. so there is no real way to know upfront whether a
particular framebuffer can be scanned out or not.
There should probably be some kind of mechanism to fall back to X-tiled if
Y/Y+CCS fails.
In this particular case it's not entirely clear why it fails though. A full log
would help. And probably we would want the following addition as well:
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -4401,6 +4401,7 @@ skl_allocate_pipe_ddb(struct intel_crtc_state
*crtc_state,
DRM_DEBUG_KMS("Requested display configuration exceeds system
DDB limitations");
DRM_DEBUG_KMS("minimum required %d/%d\n", blocks,
alloc_size);
+ skl_print_wm_changes(to_intel_atomic_state(state));
return -EINVAL;
}</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
<li>You are on the CC list for the bug.</li>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>