AuxCCS framebuffers don't work on Xe driver hence disable them
from plane capabilities until they are fixed. FlatCCS framebuffers
work and they are left enabled. CCS is left untouched for i915
deriver.

Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/933
Signed-off-by: Juha-Pekka Heikkila <[email protected]>
---
 drivers/gpu/drm/i915/display/skl_universal_plane.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c 
b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 511dc1544854..1521d829525a 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -2290,6 +2290,14 @@ static u8 skl_get_plane_caps(struct drm_i915_private 
*i915,
        if (HAS_4TILE(i915))
                caps |= INTEL_PLANE_CAP_TILING_4;
 
+       /*
+        * FIXME: Below if(IS_ENABLED(CONFIG_I915)..) is because Xe driver
+        * can't use AuxCCS framebuffers. Once they are fixed this need to be
+        * removed.
+        */
+       if (!IS_ENABLED(CONFIG_I915) && !HAS_FLAT_CCS(i915))
+               return caps;
+
        if (skl_plane_has_rc_ccs(i915, pipe, plane_id)) {
                caps |= INTEL_PLANE_CAP_CCS_RC;
                if (DISPLAY_VER(i915) >= 12)
-- 
2.25.1

Reply via email to