On Thu, 2024-01-25 at 17:25 +0200, Juha-Pekka Heikkila wrote:
> 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 <juhapekka.heikk...@gmail.com>
> ---
>  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;
> +

functional but looks odd.
would rather add a check inside of gen12_plane_has_mc_ccs() or 'if 
((!IS_ENABLED(CONFIG_I915) && !HAS_FLAT_CCS(i915)) && 
gen12_plane_has_mc_ccs(i915,
plane_id))'

>       if (skl_plane_has_rc_ccs(i915, pipe, plane_id)) {
>               caps |= INTEL_PLANE_CAP_CCS_RC;
>               if (DISPLAY_VER(i915) >= 12)

Reply via email to