[PATCH] drm/i915/display: Disable AuxCCS framebuffers if built for Xe

Souza, Jose jose.souza at intel.com
Thu Jan 25 15:28:47 UTC 2024


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.heikkila at 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)



More information about the Intel-gfx mailing list